想要用VBA检测字符串是否只包含指定位数的数字,有以下两种方法:
第一种,用like运算符判断:
Sub like识别字符串是否只有6位纯数字() MsgBox "123456" Like "######" '对字符串进行文本识别(符合返回希尔值true/否则返回false) MsgBox "a12345" Like "######" '对字符串进行文本识别(符合返回希尔值true/否则返回false) End Sub
第二种,用正则表达式判断:
Sub 正则识别字符串是否只有6位纯数字() Dim regx As Object Set regx = CreateObject("vbscript.regexp") '创建正则表达式对象“常规” regx.Global = True '匹配字符串中,所有与正则表达式规则相符的地方(为TRUE全部字符,FALSE搜索到第1个即停止) regx.IgnoreCase = False '匹配时区分大小写 regx.MultiLine = True '字串是否用了多行 regx.Pattern = "^[0-9]{6}$" 'Pattern设置正则表达式的特征、规则为“六位数字” MsgBox regx.Test("123456") '对字符串进行文本识别(符合正则返回希尔值true/否则返回false) MsgBox regx.Test("a12345") '对字符串进行文本识别(符合正则返回希尔值true/否则返回false) End Sub
以上内容对您有帮助可以分享或转藏,避免以后找不到。想要了解更多VBA相关知识,欢迎到http://moqingyan.360doc.com我的个人图书馆查看。
联系客服