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

【VBA】Filter関数の使い方

今回は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)の作成代行を始めました。
ご依頼はこちらから

VBA

Posted by やろまい