Excel VBAで配列を検索する:Filter

Excel VBA の Filter 関数を紹介します。

Filter関数の使い方

Filter 関数は、文字列の配列から指定した文字列を含む配列だけを返します。検索したいときやフィルタリングに使用します。

構文は下記のとおりです。

Sub Filter_test()

    Dim Array1() As Variant
    Dim Find As String
    Dim Result As Variant

    Array1 = Array("東京都", "北海道", "神奈川県", "京都府")

    Find = "県"

    Result = Filter(Array1, Find, True)

    If (UBound(Result) <> -1) Then
        Debug.Print Find & "を含む配列は存在します。"
    Else
        Debug.Print Find & "を含む配列は存在しません。"
    End If

End Sub

手順は以下の通りです。

  • 配列Array1に要素を格納します。
  • 検索する文字列を指定します。
  • Filter関数で配列の中を検索し、配列Resultとします。
  • UBound関数で、検索した文字列の要素数を返し、-1(存在しない)でなければ、存在する旨を書かせます。

購読

平日・毎朝更新中