配列(一次元/二次元)

ニ次元配列に指定文字が存在しているかどうか判定する【パーツ化】

指定した文字が配列内存在しているかどうか判定したい

配列データと指定文字が一致する場合のみ処理するなど、配列内の中身のチェックをしたい場合があります。
パーツ化することで、今後の開発の時短に繋がります。

指定した文字が配列内存在しているかどうか判定するサンプルコード

'■2次元配列内に指定文字strが存在していればTrue/存在しなければFalse/sColは検索する列位置
Public Function Call_arrCheck2D(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 = arr(i, sCol) Then Call_arrCheck2D = True: Exit Function
    Next
    Call_arrCheck2D = 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_arrCheck2D("あ", arr, 0) 'False
    Debug.Print Call_arrCheck2D("あ", arr, 1) 'True
    Debug.Print Call_arrCheck2D("A", arr, 0) 'True
    Debug.Print Call_arrCheck2D("A", arr, 1) 'False
    Debug.Print Call_arrCheck2D("xxx", arr, 0) 'False
    Debug.Print Call_arrCheck2D("xxx", arr, 1) 'False
End Sub

注意点

  • 一次元配列の完全一致の場合はこちら。
  • 一次元配列の部分一致(あいまい検索)したい場合はこちら。

関連記事

コメント

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