アプリ版:「スタンプのみでお礼する」機能のリリースについて

セルA1に「aaa」、「bbb」、「ccc」のいずれかを含む文字を入力し、プロシージャを実行した場合、str1に指定した複数の文字のいずれかが、セルA1に入力されている文字に含まれるかどうかを判定したいのですが、どのような方法があるのでしょうか。下記コードではエラーとなってしまいます。宜しくお願いします。

Sub sample()
Dim str1 As String
Dim str2 As String
str1 = "aaa,bbb,ccc"
str2 = Split(str1, ",")
If InStr(Cells(1, 1), str2) <> 0 Then
MsgBox "含まれます"
End If
End Sub

A 回答 (1件)

こんばんは!



色々やり方はありますが、一例です。

Sub Sample1()
Dim k As Long, myFlg As Boolean, myAry As Variant
myAry = Array("aaa", "bbb", "ccc")
For k = 0 To UBound(myAry)
If InStr(Range("A1"), myAry(k)) > 0 Then
myFlg = True
Exit For
End If
Next k
If myFlg = True Then
MsgBox "含まれています"
End If
End Sub

こんな感じでも大丈夫だと思います。m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとうございます。配列を使用することで、含まれているかチェックする事が出来ました。配列に使う変数は、Variant型にしないとエラーになってしまうのですね。

お礼日時:2017/08/12 06:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!