在這段代碼中,我試圖檢查用戶輸入的輸入(txtList)是否可以在數據列表(txtList)中找到。下面的代碼返回0(串未發現儘管「約翰·豪」和「何三通倪,約翰」是完全一樣的人。有人可以請賜教如何解決這個問題?Excel VBA InStr返回0,儘管子字符串有效
'code returns 0 (substring not found)
Dim txtList As String, txtInput As String
txtList = "Ho Tee Nee, John"
txtInput = "John Ho"
Debug.Print InStr(1, txtList, txtInput, vbTextCompare)
這是因爲它正在尋找一個完整的比賽。那不劃分單詞和單獨看,它必須找到完整的字符串在另一個st戒指不是零件。 –
您將需要在兩個命令中分別比較每個單詞,然後比較兩個單詞是否被找到。 –
從編譯器的角度來看它:「abc」,「a,b,c」和「a/b/c」字符串文字有什麼區別?沒有。全部是字符串文字。 InStr無法猜測你的意思。嘗試製作一個[StringContainsAny](https://stackoverflow.com/a/17893442/1188513)函數。 –