我们知道VBA中的Like运算符是用来比较两个字符串的,其语法为:
result = string Like pattern
如果string与pattern匹配,则result为True,如果不匹配,则result为False。Like运算符的比较方式比较灵活,除了可以使用通配符外,pattern中还可以使用中括号“[ ]”。在中括号“[ ]”中,可以用由一个或多个字符组成的组与 string 中的任一字符进行匹配。虽然用COUNTIF工作表函数可以实现类似的比较功能,但COUNTIF函数不支持中括号。为此,我们可以创建一个自定义函数来实现类似Like运算符的功能,使用起来非常方便。方法如下:
按Alt F11,打开VBA编辑器,单击菜单“插入→模块”,将下列代码输入到代码窗口中:
Public Function IsLike(sText As String, _
sPattern As String) As Boolean
IsLike = IIf(sText Like sPattern, True, False)
End Function
IsLike有2个字符串参数:sText和sPattern,sText类似于Like运算符的String, sPattern类似于Like运算符的pattern。其使用方法为:
如何用VBA输出带英文引号的字符串?
在VBA中,赋予变量或属性的字符串都是用引号 “" "”括起来的。如果字符串中要包含英文双引号,可以在代码中将输出时包含引号的文本用两对双引号括起来,然后再将整个字符串用引号括起来。例如下面的代码: Range("A2") = ""&q
=islike(sText,sPattern)
如果sText与sPattern匹配,则返回TRUE,否则FALSE。例如下面的公式:
=islike("EXCEL技巧天地","E*")
该公式检测“EXCEL技巧天地”字符串是否已字母“E”开头,结果返回TRUE。又如:
=islike("EXCEL技巧天地","*[技巧]*")
检测“EXCEL技巧天地”字符串中是否包含“技”或“巧”,结果返回TRUE。如果在两个单元格中分别输入字符串和匹配字符,也可以用单元格地址代替参数,如下图:
Excel将长时间工作的宏置于后台运行
有时需要在Excel中运行一个工作时间较长的宏,当宏在运行时,消耗了一定的系统资源,并且似乎不能在Excel中做其他事情了。如果此时急需处理其他一些Excel表格,可以按Ctrl Pause暂停宏的运行。此外,还可以在保持宏继续运行的同时,打开另一个Excel窗口,然后选择其他的工作表继续工作。由于此时鼠标变成沙漏状无