PR

【Excel】VBAでオートフィルターを設定する

Excel

Excelでよく使う機能の一つ、オートフィルター。

今回は、VBAでオートフィルターを操作する方法を学んだので

シェアします!

オートフィルターとは

Excelのオートフィルター(AutoFilter)は、Excelの表やデータ範囲内で特定のデータを簡単に抽出したり、並べ替えたりするための機能です。

この機能を使うと、大量のデータの中から特定の条件に合うデータだけを表示したり、データを特定の列に基づいて昇順または降順に並べ替えたりすることができます。

マクロでオートフィルターを使うには

AutoFilterメソッド

オートフィルターを使うにはAutoFilterメソッドを使用します。

各引数は下記のとおりです。

  • Field: フィルターを適用する列番号(1が最初の列)。
  • Criteria1: フィルター条件を指定する値。
  • Operator: 複数条件を使用する場合の演算子。xlAnd(デフォルト)またはxlOrが使われます。
  • Criteria2: 複数条件を使用する場合の2番目のフィルター条件。
  • VisibleDropDown: ドロップダウンリストを表示するかどうかを指定するブール値。

1つの項目を抽出したい場合

Sub ApplyAutoFilter()    
     With Sheets("Sheet1")          
             .Range(" A1").AutoFilter field:=2, Criteria1:=" 果物"    
     End With
End Sub
  • Field: 「2」と指定。2列目にフィルターを適用します。
  • Criteria1: 2列目の「果物」という値を抽出します。

引数名の「Field」と「Criteria」は省略することができます。

Sub ApplyAutoFilter()    
     With Sheets("Sheet1")          
             .Range(" A1").AutoFilter 2, " 果物"    
     End With
End Sub

複数の項目を抽出したい場合

複数ある場合

二つ目の条件の指定では、「Criteria 2」と入力しますが、の間に「Criteria 1」と「Criteria 2」の間に「Operator」を入れます。

Sub ApplyAutoFilter3()
     With Sheets("Sheet1") 
            .Range(" A1").AutoFilter field:=2, Criteria1:=" 果物 ", Operator:=xlOr, Criteria2:="野菜" 
        End With
End Sub

ちゃんと、「果物」と「野菜」を抽出してくれました。

まとめ

オートフィルター機能で、特定の項目だけを表示しようと思った場合、プルダウンリストから選ぶのに時間がかかったりしませんか?

このマクロを使えば、目的の項目を設定することが簡単です。

早速職場でこのマクロを使用し、仕事の効率化に成功しました!

コード自体もそんなに難しいものではないので、ぜひ試してみてください!

タイトルとURLをコピーしました