VBAのFilter()関数の使用方法を教えてください。
VBAのFilter()関数とは、配列や文字列から指定の条件に合致する要素を抽出し、新しい配列や文字列を返すためのものです。
MATCH関数を使用して、SourceArrayから条件に一致した値を抽出します。
パラメータの説明:
- 必須引数の配列または文字列を示します。
- マッチ:必須パラメーターで、一致させる条件を表します。それは文字列、数値、またはブール値です。SourceArray 内の要素が Match と等しい場合、返されます。
- オプションパラメーターで、要素を含めるか除外するかを指定します。デフォルト値はTrueで、つまりMatchと等しい要素が返されます。Falseの場合、Matchと一致しない要素が返されます。
- 比較: オプションの引数。比較モードを示します。デフォルト値はバイナリ比較を表す 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」を含むフィルタリングされた果物の名前です。