ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何判断正则表达式取得的结果是否为单元格的全部内容?

如何判断正则表达式取得的结果是否为单元格的全部内容?

作者:绿色风 分类: 时间:2022-08-17 浏览:115
楼主
kevinchengcw
Q: 如何判断正则表达式取得的结果是否为单元格的全部内容?
A: 可以通过正则替换单元格内容,然后判断结果是否为空来判断,示例代码如下:
  1. Sub test()
  2. Dim RegEx
  3. Set RegEx = CreateObject("vbscript.regexp")  '创建正则表达式项目
  4. With RegEx  '设定正则项目的作用范围及匹配表达式
  5.     .Global = True
  6.     .Pattern = "[A-Z]\d{1,2}"   '本例判断单元格内容是否为大写字母开头,后跟一到两位数字
  7. End With
  8. If ActiveCell <> "" Then   '判断活动单元格是否为空,如果单元格不为空才进行正则判断
  9.     If RegEx.Replace(ActiveCell.Value, "") = "" Then   '如果单元格不为空,且内容被正则替换后的结果为空,则说明匹配了全部内容
  10.         MsgBox "匹配了活动单元格的全部内容", 0, ""   '显示匹配到的信息
  11.     Else   '否则
  12.         MsgBox "未匹配到活动单元格的全部内容", 0, ""    '显示未匹配到的信息
  13.     End If
  14. Else  '如果活动单元格是空值,则
  15.     MsgBox "活动单元格为空", 0, ""    '显示空值的提示
  16. End If
  17. Set RegEx = Nothing    '清空正则项目
  18. End Sub

附示例文件,选中某一单元格后点击测试按钮。
判断正则表达式取得的是否为单元格的全部内容.rar
2楼
zm0115
牛牛的顶顶。刚才还回错帖了,呵呵

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap