我想用最快的方式(在excel VBA中)来识别一个字符串是否出现在另一个字符串中的任何地方 - 也许是"包含"函数?

2 string excel vba

我想用最快的方式(在excel VBA中)来识别一个字符串是否出现在另一个字符串中的任何地方 - 也许是"包含"函数?

Car*_*ter 14

我相信INSTR()是函数; 如果它返回除零以外的任何值,则找到该字符串.

exists = InStr("avbprogram", "vb") <> 0
Run Code Online (Sandbox Code Playgroud)


小智 12

Carl是正确的,但您也应该知道InStr的默认比较选项区分大小写.如果您想进行不区分大小写的检查,您应该将参数包装在LCase/UCase中,或者使用InStr函数的扩展形式,如下所示:

exists = InStr(1, "avbprogram", "vb", vbTextCompare)
Run Code Online (Sandbox Code Playgroud)

其中第一个参数是开始比较的第一个字符的索引,最后一个参数表示不区分大小写的比较.Carl展示的简写实际上与以下所示相同:

exists = InStr(1, "avbprogram", "vb", vbBinaryCompare)
Run Code Online (Sandbox Code Playgroud)