文章を入力して別の単語を分割するプログラムを作っています。今度は単語を比較し、単語が繰り返されるとメッセージの一致を返します。それ以外の場合は一致しません。しかし同じものを実行すると、MsgBox
は表示されません。文字列内の単語を一致させます。単語が文中で繰り返されると、メッセージ "Match"が返され、そうでなければ "No match"というメッセージが返されます。
Dim sent
Dim i
Dim j
Dim k
sent = "Its a good day but every day is a good day"
words = Array(Split(sent))
For i = LBound(words) To UBound(words)-1
For j = LBound(words)+1 To UBound(words)
k = StrComp(words(i), words(j))
If k=0 Then
MsgBox ("Match")
Else
MsgBox ("No Match")
End If
Next
Next
問題は、 ''単語=言葉=アレイ(スプリット(送信された))であります'Split(...)'は 'Array'を返しますので、' Array(...) 'を使って別のものにネストする必要はありません。 'UBound(words)'は ' 0 'となる。その行を 'words = Split(sent)'に変更してください。 – Lankymart