VBAのFilter()関数の使用方法を教えてください。

VBAのFilter()関数とは、配列や文字列から指定の条件に合致する要素を抽出し、新しい配列や文字列を返すためのものです。

MATCH関数を使用して、SourceArrayから条件に一致した値を抽出します。

パラメータの説明:

  1. 必須引数の配列または文字列を示します。
  2. マッチ:必須パラメーターで、一致させる条件を表します。それは文字列、数値、またはブール値です。SourceArray 内の要素が Match と等しい場合、返されます。
  3. オプションパラメーターで、要素を含めるか除外するかを指定します。デフォルト値はTrueで、つまりMatchと等しい要素が返されます。Falseの場合、Matchと一致しない要素が返されます。
  4. 比較: オプションの引数。比較モードを示します。デフォルト値はバイナリ比較を表す vbBinaryCompare です。テキスト比較を使用する場合は vbTextCompare を指定します。

返り値:条件に合うものを含む、新しい配列または文字列を返します。

フィルタ() 関数の使用方法を示す例を以下に示します。

Sub TestFilter()
    Dim arr() As Variant
    arr = Array("apple", "banana", "grape", "orange", "lemon")
    
    Dim filteredArr() As Variant
    filteredArr = Filter(arr, "a", True, vbTextCompare)
    
    Dim i As Integer
    For i = LBound(filteredArr) To UBound(filteredArr)
        Debug.Print filteredArr(i)
    Next i
End Sub

そして、いくつかのタイプがあります。

apple
banana
grape

配列arrを定義して、果物の名前の配列を割り当てます。次に、Filter() 関数を使用して、配列arr に含まれる文字「a」を含む要素をフィルタリングし、フィルタリング結果を配列filteredArr に保存します。最後に、For ループを使用して配列filteredArr を反復処理し、各要素の値を出力します。出力結果は、文字「a」を含むフィルタリングされた果物の名前です。

bannerAds