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