在VBA字符串中搜索特定单词

时间:2016-08-19 06:03:16

标签: excel vba excel-vba

我正在使用一些代码来搜索VBA字符串中的特定单词。目前我正在使用 InSTR

tag1 = InStr(1, dish, keyword, vbTextCompare)

然而,挑战在于搜索是比较字符串而不是单词。 例如。如果我正在搜索" egg "作为字符串中的关键字 - 茄子披萨 ,它会返回真值。

理想情况下,我只想搜索单词" egg "存在于一个字符串中。我可以使用更好的功能吗?

2 个答案:

答案 0 :(得分:0)

您还可以使用正则表达式在VBA中实现此目的。

专门查看^和$运算符以强制完整的单词匹配。

所以在你的情况下像^ Egg $这样的模式应该做你想要的。

请看这里有一些很好的帮助: How to use Regular Expressions (Regex) in Microsoft Excel both in-cell and loops

答案 1 :(得分:0)

InStr是要走的路。要查找文本中字符串的出现次数,可以使用此单行代码。我在这里使用你的例子。

Debug.Print UBound(Split("Eggplant Pizza", "Egg"))

要使代码不区分大小写,可以将Option Compare Text置于代码模块之上。