VBAでフィルターを一括解除するボタンの作り方

Excelのテーブルやフィルター機能を使っているとき、絞り込みをしたフィルターを一括解除するのって結構不便ですよね。
そんなときに便利なのがフィルター解除するボタンです。
そこでこの記事ではフィルターの解除するボタンの作り方を紹介します。
出来上がりのイメージは以下のようになります。


検索したフィルターを一括解除する便利な方法のため、この記事を読んで是非実践してみましょう。
テーブルとフィルター解除の前準備
まずは以下のようにテーブルを準備します。
もしテーブルでなく、普通の表でもかまいません。また、Excelのテーブル化についてはExcelのテーブルの基本的な設定方法と注意点で解説しています。
開発タブの表示
Excelに開発タブが表示されているか確認しましょう。
もし開発タブが表示されていない場合は、下の画像のように右クリックした後に「リボンのユーザー設定」をクリックします。
次に、「開発」にチェックを入れてOKを押したら下準備完了です。
VBAでフィルターを一括解除
ここからはVBAを使用して一括解除する方法を説明します。マクロやVBAに慣れていない方は難しいと思うかもしれませんが、一つずつ真似しながら作業することで確実にできます。
まずは開発タブで「Visual Basic」をクリックします。もしショートカットで行う場合は、Alt+になります。
以下のような画面になりますので、「挿入」タブの「標準モジュール」をクリックします。
標準モジュールの中のModule1をクリックし、以下のコードを入力します。
1 2 3 4 5 6 7 8 |
Sub フィルター解除() Range("B6").Select If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData End If End Sub |
コードの「Range(“B6”).Select」はB6のセルを選択という意味。表の中のセルであればどこでもOK
入力が終わったらExcelのsheetの画面に戻ります。
ボタンの設置
開発タブの中にある「挿入」→「ボタン」をクリックします。
空白のセルをクリックしたらダイアログが表示されますので、「フィルター解除」を選択し、OKを押します。
ドラッグでボタンの大きさを調整し、そのボタンの上で右クリック→「テキストの編集」を押します。
ボタンの名前を入力します。そして、空いているセルのどこでもいいのでクリックしたら名前も確定し、ボタンの完成です。
フィルター一括解除の動作確認
実際にフィルターの解除ができているか確認します。
テーブルで絞り込みをかけてみましょう。
今回は東京だけの支店に絞りました。この状態で先ほど作成したボタンをクリックします。
フィルターが一括解除されていたら完了です。
Excelのまとめ
今回はVBAを使用してテーブルなどのフィルターの一括解除する方法について紹介しました。
もしマクロやVBAがそもそも何か知りたいという方は以下の記事も見てみましょう。
また、マクロの基本記事、またはショートカットを知りたい方は以下の記事がおすすめです。
Excelの機能を使いこなすと、仕事の効率化から大きな時間短縮に繋がります。
仕事術のスキルが増えるとプライベートの時間を時間を増やすことができますので、当サイトで得た知識を是非活用していきましょう。