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

【VBA】配列から特定の要素を抽出する方法(Filter関数)

2024年3月24日

【VBA】配列から特定の要素を抽出する方法(Filter関数)

今回は配列から特定の要素を抽出する方法を紹介します。

この方法を使うと例えば、

array(“apple", “orange", “melon", “grape")のような配列から

oを含んだ配列 array(“orange", “melon")を抽出することができます。

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

配列から特定の要素を抽出する方法(特定の文字列を含む)

Sub FilterInclude()
    
    Dim arr
    arr = Array("A株式会社", "B有限会社", "C株式会社", "D合同会社", "E合資会社", "F株式会社")
    arr = Filter(arr, "株式会社")
    
    'フィルタ後の配列を確認
    Dim one
    For Each one In arr
        Debug.Print one 'A株式会社,C株式会社,F株式会社
    Next
End Sub

サンプルコードでは配列arrから"株式会社"を含む要素を取り出しています。

元の配列にはA~Fの会社があるのですが、フィルタ後の配列には"株式会社"であるA,C,Fのみが含まれています。

配列から特定の要素を抽出する方法(特定の文字列を含まない)

Sub FilterNotInclude()
    
    Dim arr
    arr = Array("A株式会社", "B有限会社", "C株式会社", "D合同会社", "E合資会社", "F株式会社")
    arr = Filter(arr, "株式会社", False)
    
    'フィルタ後の配列を確認
    Dim one
    For Each one In arr
        Debug.Print one 'B有限会社,D合同会社,E合資会社
    Next
End Sub

こちらのコードでは"株式会社"を含まない要素を取り出しています。

arr = Filter(arr, "株式会社", False)

このようにFilter関数の3つ目の引数にFalseを指定すると指定した文字列を含まない配列のみを取得することができます。

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

created by Rinker
技術評論社
¥3,608 (2024/10/13 14:02:59時点 Amazon調べ-詳細)
VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

VBA

Posted by やろまい