このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【VBA】Filter関数の使い方

2024年10月2日

今回はVBAのFilter関数の使い方を紹介します

VBAのFilter関数は、配列の中から特定の文字列を含んだ要素のみの配列を返します。

例えば、Array(“a", “ab", “abc")という配列に対して、Filter(配列, “b")とすると、

“b"を含んだ、Array(“ab", “abc")という配列を得られます。

Filter関数を使ったサンプルコードを紹介しますので、どういった挙動をするのか確認してみてください。

VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

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つのルールに気を付けてください。

  1. Filter関数の検索は部分一致になります。
  2. 配列のデータ型がVariantで、データとして数値(Variant/IntegerやVariant/Long)が入っていても文字列として扱われます。

Filter関数を使うとコードをシンプルにすることができるので、ルールに気を付けて活用してみてください。

《VBA上級者になりたい人へ》
VBA上級者を目指したい人にはパーフェクトExcel VBA一択です。
この本を読み切れば間違いなくVBA上級者になれます。

VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

VBA

Posted by やろまい