VBATips

(あいまい検索)配列に指定した文字が含まれるかどうか判定する【パーツ化】

配列内に指定した文字が含まれるかどうか判定したい(部分一致/あいまい検索)

配列データと指定文字を完全一致ではなく、あいまい検索したい場合があります。
パーツ化することで、今後の開発の時短に繋がります。

配列内に指定文字が含まれるかどうか判定するサンプルコード

'■配列内に指定文字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)       'True
    Debug.Print Call_arrCheck("りんご", arr)     'True
    Debug.Print Call_arrCheck("りんごあめ", arr) 'True
    Debug.Print Call_arrCheck("xxx", arr)       'False
End Sub

注意点

関連記事

コメント

タイトルとURLをコピーしました