• 公開日:

ExcelのVBA(マクロ)を使ってフィルターを設定する方法

Excelのフィルターは、条件を指定してデータを抽出することができるなど表の整理に役立ちます。

この記事では、ExcelのVBA(マクロ)を使ってフィルターを設定する方法と合わせて、VBAを使ってフィルターで抽出する方法もご紹介しています。

VBAを使うと条件を指定する工程などが自動化でき、効率的にフィルターの設定やデータの抽出を行うことができます。

Excelを使った日付選択のマクロを無料でダウンロード!

Excelでカレンダーから日付を入力できるマクロを無料でダウンロードできます。コードを変更すれば、カレンダーの背景色や、今日の日付の色を変更したりとカスタマイズすることも可能です。

開発タブを表示させる

開発タブが表示されている

今回はVBAを使用してフィルターを設定します。

上記の画像のような「開発」タブが表示されていない場合は、以下の記事を参考にして表示させましょう。

エクセルの開発タブを表示する方法

フィルターを設定するコード

フィルターを設定するコードを下記に記載するので、コピーして使用してください。

  Sub フィルターを設定する()
    ActiveSheet.Range("A1").AutoFilter
  End Sub

詳しい方法は、以下の「ExcelのVBA(マクロ)を使ってフィルターを設定する方法」セクションでご紹介しています。

ExcelのVBA(マクロ)を使ってフィルターを設定する方法

VBAを使ってExcelの表にフィルターをかける方法をご紹介します。

上記の画像の表に、VBAを使ってフィルターをかけます。まず、マクロを作成します。①開発タブ、②「Visual Basic」の順に選択します。

「Microsoft Visual Basic for Applications」が開きました。①挿入タブ、②標準モジュールの順に選択します。

標準モジュールが開きました。上記「フィルターを設定するコード」セクションに記載したコードをコピーして貼り付けてください。「("A1")」は表に含まれるセルであればどこでも構いません。任意のセル番地に変更可能です。

作成したマクロを保存します。①ファイルタブ、②上書き保存の順に選択します。その際に、「次の機能はマクロなしのブックには保存できません」というダイアログボックスが表示された場合は、「いいえ」を選択してください。

「名前を付けて保存」ダイアログボックスが表示されました。①保存先(例:デスクトップ)を選択し、②ファイル名(例:フィルターを設定する)を入力します。③ファイルの種類で「Excel マクロ有効ブック」を選択し、④保存ボタンを押します。

Excelシートに戻り、マクロを実行します。①開発タブ、②マクロの順に選択します。

「マクロ」ダイアログボックスが表示されました。①作成したマクロ(例:フィルターを設定する)を選択し、②実行ボタンを押します。

見出しセル右下にフィルターボタンが追加されました。VBAを使ってフィルターの設定ができました。

VBAを使ってフィルターで抽出する方法

VBAを使ってExcelの表にフィルターをかけて、データを抽出する方法をご紹介します。

Visual Basicを選択する

上記の画像の表にVBAを使ってフィルターをかけ、「B社」のデータだけを抽出します。

まず、マクロを作成します。

開発タブ、②「Visual Basic」の順に選択します。

標準モジュールを開く

「Microsoft Visual Basic for Applications」が開きました。①挿入タブ、②標準モジュールの順に選択します。

コードを入力する

標準モジュールが開きました。

以下のコードをコピーしてモジュールに貼り付けます。

Sub フィルターをかけて抽出する()
    ActiveSheet.Range("A1").AutoFilter 3, "B社"
End Sub

「("A1")」は表に含まれるセル番地であればどこでも構いません。

Autofilterの後には抽出条件を入力します。表の左端の列(例:A列)を基準に数えた数字で列を指定し、「"B社"」を抽出したい項目に変更します。

今回はC列なので「3」、条件に「B社」を入力しています。

作成したマクロを保存する

作成したマクロを保存します。

ファイルタブ、②上書き保存の順に選択します。

その際に、「次の機能はマクロなしのブックには保存できません」というダイアログボックスが表示された場合は、「いいえ」を選択してください。

保存先を選択する

「名前を付けて保存」ダイアログボックスが表示されました。

保存先(例:デスクトップ)を選択し、②ファイル名(例:フィルターをかけて抽出する)を入力します。

ファイルの種類で「Excel マクロ有効ブック」を選択し、④保存ボタンを押します。

マクロを開く

Excelシートに戻り、マクロを実行します。

開発タブ、②マクロの順に選択します。

マクロを実行する

「マクロ」ダイアログボックスが表示されました。

作成したマクロ(例:フィルターをかけて抽出する)を選択し、②実行ボタンを押します

VBAを使ってフィルターで抽出できた

表にフィルターがかかり、「B社」のデータだけが抽出されました。