2016-07-13 7 views
1
englishReasonsToGoToSecondFloor = "test" & ";" & "exam & pay" & ";" & " possible fake" 

だから私の値が含まれていてもよい&または(スペース)または1つだけの単語。各項目は「;」で区切られています。私のInStr関数が私に言って続けてその不一致

ので、最終的なリストは、「テスト可能偽物;試験&賃金」のようになります。ユーザーはリストボックスから項目を選択すると、私はすぐに変数

内の単語との選択を比較したい

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

私はrowValueの上にマウスを置くことができ、値があることがわかります。

私も

englishResult = InStr(rowValue, englishReasonsToGoToSecondFloor, vbTextCompare) 

エラーメッセージを表示して試してみたが実行時エラー '13'

+1

を '欲しいです。私はこのエラーを経験したことがない – gizlmo

答えて

3

InStr()のヘルプを確認してください。または、here」である。

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

compareが指定されている場合は、start引数が必要です。

compare引数を省略するか、startを指定してください。

あなたは文字列の引数が混ざっています(正しい順序をかなりよく思い出させる必要があります)。

string1 - 必須です。検索される文字列式。
string2 - 必須です。求められる文字列式。

だから、

0 Then`が、私は通常、InStr関数を使用する方法ですINSTR(1、 "文字列"、 "を検索するサブストリング"、vbTextCompare)>場合
englishResult = InStr(1, englishReasonsToGoToSecondFloor, rowValue, vbTextCompare) 
+0

ありがとう。私は何度もそれを逃した。私は1として開始位置を追加しました。しかし、結果は常に0で、string2内の結果を見ることができます(ハードコーディングされているので)。私は何か他のものを逃している? –

+0

編集を参照してください。私のドイツのリマインダーは "DURCHsuchter string、GEsuchter string"です。 :) – Andre

+0

開始文字列を含むようにコードを修正しました。なぜrowValueとenglishReasonsを交換するのですか? –

関連する問題