教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAでFilter関数の使い方

構文

構文は以下の通りです。

Filter(文字列配列, 検索文字列, [部分一致], [大文字と小文字を区別するか])

解説

Filter関数は、特定の文字列を含む配列の要素を抽出します。文字列配列は、検索対象となる文字列を含む配列です。検索文字列は、文字列配列の中で探したい文字列です。部分一致 (省略可能)がTrueの場合、部分一致で検索します。Falseの場合は完全一致で検索します。省略するとTrueがデフォルトです。大文字と小文字を区別するか (省略可能)は、 Trueの場合、大文字と小文字を区別します。Falseの場合は区別しません。省略するとFalseがデフォルトです。

プログラミング例

具体的なプログラミング例を紹介します。

Sub フィルタ例()
    Dim 果物() As String
    Dim 結果() As String
    Dim 件目 As Integer
    ' 配列の初期化
    果物 = Array("りんご", "みかん", "ぶどう", "りんごジュース", "なし")
    ' "りんご" を含む要素をフィルタリング
    結果 = Filter(果物, "りんご")
    ' 結果を出力
    For 件目 = LBound(結果) To UBound(結果)
        Debug.Print 結果(件目)
    Next
End Sub

上記のプログラムは、まず「果物」という配列にいくつかのフルーツやフルーツに関連する言葉を入れます。その後、Filter関数を使って「りんご」を含む配列の要素を抽出し、それを結果という新しい配列に格納します。最後に、その結果を表示するためにDebug.Printでループを使って出力しています。Filter(果物, "りんご") は、果物配列の中から「りんご」を含む要素(例: "りんご", "りんごジュース")を抽出します。

まとめ

Filter関数は、特定の文字列を含む配列の要素を簡単に抽出するのに便利です。この関数は、部分一致や大文字小文字の区別など、柔軟な検索が可能なので、特定の条件に応じて使い分けることができます。