我的InStr一直告诉我它不匹配

时间:2016-07-13 13:45:46

标签: vba ms-access

 englishReasonsToGoToSecondFloor = "test" & ";" & "exam & pay" & ";" & " possible fake"

所以我的值可能包含& 或(空格)或只包含一个单词。每个项目用“;”

分隔

所以最终列表看起来像“测试;考试和支付;可能是假的”

当用户从列表框中选择一个项目时,我想快速将选择与变量中的单词进行比较

rowValue = Trim(listboxTest.Column(1))
englishResult = InStr(rowValue, englishReasonsToGoToSecondFloor, CompareMethod.Text)

我可以将鼠标移到rowValue上,我看到有一个值。

我也试过

englishResult = InStr(rowValue, englishReasonsToGoToSecondFloor, vbTextCompare)

错误消息是“运行时错误'13'

1 个答案:

答案 0 :(得分:3)

查看InStr()的帮助。或here

 InStr ([start, ] string1, string2 [, compare ] )
  

如果指定了compare,则需要start参数。

请忽略compare参数,或提供start

你把字符串参数混淆了(我需要经常提醒自己正确的顺序)。

  

string1 - 必填。正在搜索字符串表达式   string2 - 必需。寻求字符串表达。

所以你想要

englishResult = InStr(1, englishReasonsToGoToSecondFloor, rowValue, vbTextCompare)