【EXCEL VBA】オートフィルタで複数列に複数条件で絞り込みしたい

VBAからオートフィルタで複数列に複数条件を指定する方法を紹介します。とても簡単ですので、ぜひサンプルプログラムを実行してみてください。

事前準備

データを準備します。こちらのデータは、テストデータ生成サイトで作成しました。ダウンロードしてEXCELへ貼り付けてください。

AutoFilterで解決する

複数列に条件を設定したい場合は、AutoFilterを連結するのみです。フィルタしたい列数分AutoFilter連結してください。また、複数列&複数条件のフィルタを行いたい場合も、同様の指定です。簡単なので解説は不要かと思いますので、サンプルプログラムを確認してみてください。

サンプルプログラム(コピペでOK)

Sub sample1()

    ' 複数列を文字列で絞り込み
    With Range("A1")
        .AutoFilter 1, "松島*"
        .AutoFilter 4, "東京都"
    End With

End Sub
Sub sample2()

    ' 複数列を複数条件で絞り込み
    With Range("A1")
        .AutoFilter 1, "松島*", xlOr, "大友*"
        .AutoFilter 4, "東京都"
    End With

End Sub
Sub sample3()

    ' 複数列を複数条件で絞り込み
    With Range("A1")
        .AutoFilter 1, "金城*", xlOr, "西田*"
        .AutoFilter 4, Array("東京都", "神奈川県", "千葉県", "埼玉県"), xlFilterValues
    End With

End Sub