【VBA】Filter関数の使い方
今回はVBAのFilter関数の使い方を紹介します
VBAのFilter関数は、配列の中から特定の文字列を含んだ要素のみの配列を返します。
例えば、Array(“a", “ab", “abc")という配列に対して、Filter(配列, “b")とすると、
“b"を含んだ、Array(“ab", “abc")という配列を得られます。
Filter関数を使ったサンプルコードを紹介しますので、どういった挙動をするのか確認してみてください。
Filter関数を使ったサンプルコード
Sub SampleFilter()
Dim arr
arr = Array("a", "ab", "abc", "abcd", "abcde")
arr = Filter(arr, "b")
Dim one
For Each one In arr
Debug.Print one
Next
End Sub
例えば、このコードを実行すると"b"を含んだ要素のみの配列が得られます。
(具体的には"ab", “abc", “abcd", “abcde"の4つ)
そのため、Debug.Print oneの部分ではこの4つの要素がイミディエイトウィンドウに表示されます。
Filter関数を使う際には、下記2つのルールに気を付けてください。
- Filter関数の検索は部分一致になります。
- 配列のデータ型がVariantで、データとして数値(Variant/IntegerやVariant/Long)が入っていても文字列として扱われます。
Filter関数を使うとコードをシンプルにすることができるので、ルールに気を付けて活用してみてください。