通配符,从名称上我们也能大概猜到,这种特殊的符号是有通用匹配功能的,也就是可以匹配所有的符号。
Excel用的熟练的人,应该用过通配符,主要有2种:
- * 匹配任意数量的字符
- ? 匹配单个字符
1、Excel中通配符的使用:
通配符在Excel中也有很多地方能够用上,比如Vlookup、Match、Sumif函数等:
查找替换中也可以使用通配符,比如有一些单元格数据,我们想把一些括号内的内容删除掉:
图片中我们用的是*,可以匹配任意数量的字符,我们也可以用?,比如用(??),就只会替换掉括号中含2个字符的。
2、VBA中通配符的使用:
在VBA中通配符还有1种#,能够代表1个数字。
在VBA中使用通配符比较简单,比如我们想判断某个字符开头是否是“Str",这个用Left函数也是可以的:
代码语言:javascript复制 If VBA.Strings.Left(str, 3) = "Str" Then
'其他代码
End If
使用通配符:
代码语言:javascript复制If str Like "Str*" Then
'其他代码
End If
Like关键字用于比较两个字符串,和我们平时用=进行比较不同的是,一旦碰上了通配符,Like关键字能够按照通配符的规则去比较。
前面举的例子非常的简单,我们用Left函数一样能够做到,但是,通配符能够完成比较复杂的对比,比如,需要判断1个字符串:
第3-5个字符是abc、第9-10个字符是数字、结尾是xy。
如果我们用普通的字符处理函数去做的话,至少也要分3步去判断了,但是用通配符一次就可以:
代码语言:javascript复制?"vbabcfe890alfeixy" Like "??abc???##*xy" '立即窗口输入后回车
使用通配符可以简化代码,提高字符串对比的灵活性。
3、小结
了解VBA中通配符的使用,对于经常有字符处理需要的,熟练掌握通配符的使用非常的有必要。