配列内に指定した文字が含まれるかどうか判定したい(部分一致/あいまい検索)
配列データと指定文字を完全一致ではなく、あいまい検索したい場合があります。
パーツ化することで、今後の開発の時短に繋がります。
配列内に指定文字が含まれるかどうか判定するサンプルコード
'■配列内に指定文字strが含まれていればTrue/含まれてなければFalse
Public Function Call_arrCheck(str As String, arr As Variant) As Boolean
Dim i As Long
For i = LBound(arr) To UBound(arr)
If str Like "*" & arr(i) & "*" Then Call_arrCheck = True: Exit Function
Next
Call_arrCheck = False
End Function
実際の使い方
Public Sub sample()
Dim arr(4) As Variant
arr(0) = "りんご"
arr(1) = "みかん"
arr(2) = "ぶどう"
arr(3) = "バナナ"
arr(4) = "マンゴー"
Debug.Print Call_arrCheck("りん", arr) 'False
Debug.Print Call_arrCheck("りんご", arr) 'True
Debug.Print Call_arrCheck("りんごあめ", arr) 'True
Debug.Print Call_arrCheck("xxx", arr) 'False
End Sub
注意点
- 完全一致の場合はこちら。
コメント