在编写vba代码的解决方案时,会经常碰到字符串的对比。
比如要判断一个字符串变量是否包含某些字符、是否含有数字等等。
这些简单的字符串的对比都可以用vba中的内置like运算符来实现。它的语法如下:
result = string Like pattern
其中string表示要被匹配的字符串,pattern表示要匹配的模式字符串,result表示匹配的结果,如果匹配满足则返回True,反之返回False。
其中pattern可以有以下类型
| 匹配的模式 | 匹配的字符床 |
| ? | 任何一个字符 |
| * | 零个或者多个字符 |
| # | 任何一个数字 |
| [字符串列表] | 任何一个在字符串列表中的字符 |
| [!字符串列表] | 任何一个不在字符串列表中的字符 |
| [a-z] | 字母a到字母z之间的任何一个字母 |
| [A-Z] | 字母A到字母Z之间的任何一个字母 |
其它的更多详细的资料可以访问它的官方文档Like运算符
结合以下代码将会对like运算符有更清晰的了解:
Sub QQ1722187970()
Dim sCheck
sCheck = "aBBBa" Like "a*a" ' 返回 True.
sCheck = "F" Like "[A-Z]" ' 返回 True.
sCheck = "F" Like "[!A-Z]" ' 返回 False.
sCheck = "a2a" Like "a#a" ' 返回 True.
sCheck = "aM5b" Like "a[L-P]#[!c-e]" ' 返回 True.
sCheck = "BAT123khg" Like "B?T*" ' 返回 True.
sCheck = "CAT123khg" Like "B?T*" ' 返回 False.
sCheck = "我" Like "*[一-龥]*"
End Sub


发表评论