我是VBA編程的初學者,我遇到了使用子字符串搜索在字符串中查找一個或多個關鍵字的問題。在VBA中使用InStr函數進行多字符串搜索 - 已修改
我在這個論壇上的答案已被幫助,但代碼將搜索限制在字符串中的第一個單詞而不是整個字符串。在答案中指出:「記住開始與含有不同。」
我試圖通過更改使用「StringStarts」到「Contains」的代碼部分來修改代碼,但這不會改變事情。
最初的答案上找到: Multiple string search with InStr function in VBA
的代碼如下:
"If StringStarts(Me.gname.Value, "Mr", "Mrs", "Dr", "Supreme Commander", "Capt.") Then
MsgBox "Consumer Name Starts with Mr./Mrs./Ms./Dr. Check Consumer Name"
...
Function StringStarts(strCheck As String, ParamArray anyOf()) As Boolean
Dim item As Long
For item = 0 To UBound(anyOf)
If InStr(1, strCheck, anyOf(item), vbTextCompare) = 1 Then
StringStarts = True
Exit Function
End If
Next
End Function"
這是我的第一個問題貼出來,所以我希望我一直在下面的約定要求。
你的問題不是很清楚..你想能夠搜索字符串中的任何位置的關鍵字*嗎?或者你想找到字符串中的所有關鍵字(而不是隻停留在第一個匹配的關鍵字)? – NavkarJ
你說得對。我實際上希望能夠確定是否沒有任何關鍵字,關鍵字之一以及關鍵字是否出現過一次以上。 –