【EXCEL VBA】フィルターを使ってデータを絞りこむ方法

訪問して頂きありがとうございます。まさふくろーです。

この記事では使用例を使って、フィルターを使ってデータを絞りこむ方法をご紹介します。

目次

使用するメソッド

AutoFilterメソッド

Rangeオブジェクト.AutoFilter([Field],[Criteria1],[Operator],[Criteria2],[VisibleDropDown])

解説 オートフィルターを設定して、Rangeオブジェクトで指定したセルの範囲から、引数で指定した条件に一致するデータを抽出する。オートフィルターは、表の先頭行(列見出し)に用意されるフィルターボタンを使い、様々な条件を指定して、必要なデータを抽出できる機能。
引数をすべて省略した場合は、オートフィルターの設定/解除が切り替わる。
引数Fieldを指定し、その他すべての引数を省略した場合は、引数Fieldで指定した列の抽出条件を解除する。
引数Fieldと引数Criteria1を指定し、引数Operatorと引数Criteria2を省略した場合は、指定した単一条件で抽出が行われる。
Rangeオブジェクトで単一のセルを指定した場合は、そのセルを含むアクティブセル領域(空白行と空白列で囲まれた長方形のセル範囲)の列見出しにフィルターボタンが表示される。また、セル範囲を指定した場合は、指定したセル範囲の列見出しにフィルターボタンが表示される。
引数 Field:
条件を指定する列を番号で指定する。番号は、表の左端の列から1、2、3・・・と数える。
Criteria1:
抽出条件を指定する。
Operator:
抽出条件の種類を指定する。
Criteria2:
引数OperatorでAND条件やOR条件を指定した場合に、二つ目の抽出条件を指定する。
VisibleDropDown:
フィルターボタンを表示する場合は「True」、表示しない場合は「False」を指定する。省略した場合は、フィルターボタンが表示される。フィルターボタンを非表示にすると、ユーザーがオートフィルターを操作できない状態にして抽出結果を表示できる。

使用例1:〇〇以上のデータを抽出する

  1. 「実行」ボタンをクリック

  2. 「会員No.」が「1010」以上の会員データを抽出する

ボタンの作成

「開発」タブの確認

リボンに「開発」タブが表示されているかの確認をします。

 

 

「開発」タブが表示されていない場合は、「開発タブの表示」をご覧ください。

ボタンの作成

①「開発」タブをクリック⇒②「挿入」をクリック⇒③「ボタン」をクリックします。

 

シート上にカーソルを移動し、ポインターを「+」の状態にします。

 

左クリックを押したまま、緑の矢印の方向にズルズルっとカーソルを移動します。

 

「マクロの登録」画面が表示されます。

 

①「マクロ名」を変更⇒②「新規作成」ボタンをクリックします。

 

ボタンの名前を変更する

エクセルのブックに戻り、ボタンの上にフォーカスを当てます。すると、ポインターが「」マークに切り替わります。

 

右クリックでショートカットメニューを表示し、「テキストの編集」を選択します。

 

ボタンの名前を変更します。

 

サンプルプログラム

VBAコードの入力

VBE(Visual Basic Editor)のピンク枠の部分に、VBAコードを入力していきます。

3 「A1」セルを含む表にオートフィルターを設定して、1列目(会員No.)が1010以上のデータを抽出する

使用例2:〇〇以上〇〇以下のデータを抽出する

  1. 「実行」ボタンをクリック

  2. 「会員No.」が「1010」以上「1015」以下の会員データを抽出する

ボタンの作成

「開発」タブの確認

リボンに「開発」タブが表示されているかの確認をします。

 

 

「開発」タブが表示されていない場合は、「開発タブの表示」をご覧ください。

ボタンの作成

①「開発」タブをクリック⇒②「挿入」をクリック⇒③「ボタン」をクリックします。

 

シート上にカーソルを移動し、ポインターを「+」の状態にします。

 

左クリックを押したまま、緑の矢印の方向にズルズルっとカーソルを移動します。

 

「マクロの登録」画面が表示されます。

 

①「マクロ名」を変更⇒②「新規作成」ボタンをクリックします。

 

ボタンの名前を変更する

エクセルのブックに戻り、ボタンの上にフォーカスを当てます。すると、ポインターが「」マークに切り替わります。

 

右クリックでショートカットメニューを表示し、「テキストの編集」を選択します。

 

ボタンの名前を変更します。

 

サンプルプログラム

VBAコードの入力

VBE(Visual Basic Editor)のピンク枠の部分に、VBAコードを入力していきます。

3 「A1」セルを含む表にオートフィルターを設定して、1列目(会員No.)が1010以上1015以下のデータを抽出する

使用例3:〇〇または〇〇のデータを抽出する

  1. 「実行」ボタンをクリック

  2. 「会員No.」が「1001」または「1007」の会員データを抽出する

ボタンの作成

「開発」タブの確認

リボンに「開発」タブが表示されているかの確認をします。

 

 

「開発」タブが表示されていない場合は、「開発タブの表示」をご覧ください。

ボタンの作成

①「開発」タブをクリック⇒②「挿入」をクリック⇒③「ボタン」をクリックします。

 

シート上にカーソルを移動し、ポインターを「+」の状態にします。

 

左クリックを押したまま、緑の矢印の方向にズルズルっとカーソルを移動します。

 

「マクロの登録」画面が表示されます。

 

①「マクロ名」を変更⇒②「新規作成」ボタンをクリックします。

 

ボタンの名前を変更する

エクセルのブックに戻り、ボタンの上にフォーカスを当てます。すると、ポインターが「」マークに切り替わります。

 

右クリックでショートカットメニューを表示し、「テキストの編集」を選択します。

 

ボタンの名前を変更します。

 

サンプルプログラム

VBAコードの入力

VBE(Visual Basic Editor)のピンク枠の部分に、VBAコードを入力していきます。

3 「A1」セルを含む表にオートフィルターを設定して、1列目(会員No.)が1001または1007のデータを抽出する

使用例4:大きいほうから上位10件分のデータを抽出する

  1. 「実行」ボタンをクリック

  2. 「会員No.」の大きいほうから順に10番目までの会員データを抽出する

ボタンの作成

「開発」タブの確認

リボンに「開発」タブが表示されているかの確認をします。

 

 

「開発」タブが表示されていない場合は、「開発タブの表示」をご覧ください。

ボタンの作成

①「開発」タブをクリック⇒②「挿入」をクリック⇒③「ボタン」をクリックします。

 

シート上にカーソルを移動し、ポインターを「+」の状態にします。

 

左クリックを押したまま、緑の矢印の方向にズルズルっとカーソルを移動します。

 

「マクロの登録」画面が表示されます。

 

①「マクロ名」を変更⇒②「新規作成」ボタンをクリックします。

 

ボタンの名前を変更する

エクセルのブックに戻り、ボタンの上にフォーカスを当てます。すると、ポインターが「」マークに切り替わります。

 

右クリックでショートカットメニューを表示し、「テキストの編集」を選択します。

 

ボタンの名前を変更します。

 

サンプルプログラム

VBAコードの入力

VBE(Visual Basic Editor)のピンク枠の部分に、VBAコードを入力していきます。

3 「A1」セルを含む表にオートフィルターを設定して、1列目(会員No.)大きいほうから上位10件分のデータを抽出する

使用例5:セルの色でデータを抽出する

  1. 「実行」ボタンをクリック

  2. 「会員No.」の黄色のセルの会員データを抽出する

ボタンの作成

「開発」タブの確認

リボンに「開発」タブが表示されているかの確認をします。

 

 

「開発」タブが表示されていない場合は、「開発タブの表示」をご覧ください。

ボタンの作成

①「開発」タブをクリック⇒②「挿入」をクリック⇒③「ボタン」をクリックします。

 

シート上にカーソルを移動し、ポインターを「+」の状態にします。

 

左クリックを押したまま、緑の矢印の方向にズルズルっとカーソルを移動します。

 

「マクロの登録」画面が表示されます。

 

①「マクロ名」を変更⇒②「新規作成」ボタンをクリックします。

 

ボタンの名前を変更する

エクセルのブックに戻り、ボタンの上にフォーカスを当てます。すると、ポインターが「」マークに切り替わります。

 

右クリックでショートカットメニューを表示し、「テキストの編集」を選択します。

 

ボタンの名前を変更します。

 

サンプルプログラム

VBAコードの入力

VBE(Visual Basic Editor)のピンク枠の部分に、VBAコードを入力していきます。

3 「A1」セルを含む表にオートフィルターを設定して、1列目(会員No.)のセルの色が黄色のデータを抽出する

使用例5:文字の色でデータを抽出する

  1. 「実行」ボタンをクリック

  2. 「会員No.」の文字の色が赤の会員データを抽出する

ボタンの作成

「開発」タブの確認

リボンに「開発」タブが表示されているかの確認をします。

 

 

「開発」タブが表示されていない場合は、「開発タブの表示」をご覧ください。

ボタンの作成

①「開発」タブをクリック⇒②「挿入」をクリック⇒③「ボタン」をクリックします。

 

シート上にカーソルを移動し、ポインターを「+」の状態にします。

 

左クリックを押したまま、緑の矢印の方向にズルズルっとカーソルを移動します。

 

「マクロの登録」画面が表示されます。

 

①「マクロ名」を変更⇒②「新規作成」ボタンをクリックします。

 

ボタンの名前を変更する

エクセルのブックに戻り、ボタンの上にフォーカスを当てます。すると、ポインターが「」マークに切り替わります。

 

右クリックでショートカットメニューを表示し、「テキストの編集」を選択します。

 

ボタンの名前を変更します。

 

サンプルプログラム

VBAコードの入力

VBE(Visual Basic Editor)のピンク枠の部分に、VBAコードを入力していきます。

3 「A1」セルを含む表にオートフィルターを設定して、1列目(会員No.)の文字の色が赤色のデータを抽出する

使用例6:あいまいなデータを抽出する

  1. 「実行」ボタンをクリック

  2. 「郵便番号」に「235」が含まれる会員データを抽出する

ボタンの作成

「開発」タブの確認

リボンに「開発」タブが表示されているかの確認をします。

 

 

「開発」タブが表示されていない場合は、「開発タブの表示」をご覧ください。

ボタンの作成

①「開発」タブをクリック⇒②「挿入」をクリック⇒③「ボタン」をクリックします。

 

シート上にカーソルを移動し、ポインターを「+」の状態にします。

 

左クリックを押したまま、緑の矢印の方向にズルズルっとカーソルを移動します。

 

「マクロの登録」画面が表示されます。

 

①「マクロ名」を変更⇒②「新規作成」ボタンをクリックします。

 

ボタンの名前を変更する

エクセルのブックに戻り、ボタンの上にフォーカスを当てます。すると、ポインターが「」マークに切り替わります。

 

右クリックでショートカットメニューを表示し、「テキストの編集」を選択します。

 

ボタンの名前を変更します。

 

サンプルプログラム

VBAコードの入力

VBE(Visual Basic Editor)のピンク枠の部分に、VBAコードを入力していきます。

3 「A1」セルを含む表にオートフィルターを設定して、3列目(郵便番号)に「235」が含まれる会員データを抽出する

使用例7:複数の条件でデータを抽出する

  1. 「実行」ボタンをクリック

  2. 「会員No.」が「1010」以上で、「性別」が「M」の会員データを抽出する

ボタンの作成

「開発」タブの確認

リボンに「開発」タブが表示されているかの確認をします。

 

 

「開発」タブが表示されていない場合は、「開発タブの表示」をご覧ください。

ボタンの作成

①「開発」タブをクリック⇒②「挿入」をクリック⇒③「ボタン」をクリックします。

 

シート上にカーソルを移動し、ポインターを「+」の状態にします。

 

左クリックを押したまま、緑の矢印の方向にズルズルっとカーソルを移動します。

 

「マクロの登録」画面が表示されます。

 

①「マクロ名」を変更⇒②「新規作成」ボタンをクリックします。

 

ボタンの名前を変更する

エクセルのブックに戻り、ボタンの上にフォーカスを当てます。すると、ポインターが「」マークに切り替わります。

 

右クリックでショートカットメニューを表示し、「テキストの編集」を選択します。

 

ボタンの名前を変更します。

 

サンプルプログラム

VBAコードの入力

VBE(Visual Basic Editor)のピンク枠の部分に、VBAコードを入力していきます。

3 「A1」セルを含む表にオートフィルターを設定して、1列目(会員No.)が1010以上のデータを抽出する
4 「A1」セルを含む表にオートフィルターを設定して、6列目(性別)が「M」のデータを抽出する

最後まで読んでいただき、ありがとうございました!