Excelで作業をしている際、フィルターをクリアにしたい場面がよくあります。フィルターを解除するのではなく、クリアにするシンプルなマクロの構文を知りたい方のために、簡単な方法を解説します。ここでは、VBA(Visual Basic for Applications)を使ったアクティブシートのフィルタークリアについて説明します。
アクティブシートのフィルターをクリアにする方法
フィルターをクリアにするには、簡単なVBAコードを使用します。このコードは、現在アクティブなシートのフィルターを完全にクリアするものです。
1. フィルターをクリアするVBAコード
アクティブシートのフィルターをクリアにするための基本的なコードは以下の通りです。
Sub ClearFilter()
If ActiveSheet.AutoFilterMode Then
ActiveSheet.AutoFilter.ShowAllData
End If
End Sub
このコードは、アクティブシートにフィルターが適用されている場合に、フィルターをクリアしてすべてのデータを表示します。
2. コードの説明
上記のコードを詳しく説明します。
- If ActiveSheet.AutoFilterMode Then – これは、アクティブシートにフィルターが有効になっているかを確認します。
- ActiveSheet.AutoFilter.ShowAllData – フィルターが有効であれば、すべてのフィルターをクリアし、すべてのデータを表示します。
フィルターをクリアするマクロを実行する方法
このマクロを実行するには、まずExcelのVBAエディタにコードを貼り付けて、マクロを実行する必要があります。次に、実行方法を説明します。
3. マクロをVBAエディタに追加する方法
マクロを追加するには、次の手順を行います。
- Excelを開き、Alt + F11でVBAエディタを開きます。
- エディタ内で「挿入」->「モジュール」を選択します。
- 新しいモジュールに、上記のコードを貼り付けます。
- コードを貼り付けたら、F5キーを押して実行するか、Excelに戻り「マクロ」から実行します。
フィルタークリアを自動化するためのアプローチ
フィルターを手動でクリアするたびにマクロを実行するのではなく、自動化する方法もあります。例えば、シートの変更時に自動的にフィルターをクリアすることができます。
4. シート変更時にフィルターをクリアする方法
シートの変更時に自動でフィルターをクリアするには、次のようにVBAの「Worksheet_Change」イベントを使います。
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveSheet.AutoFilterMode Then
ActiveSheet.AutoFilter.ShowAllData
End If
End Sub
このコードは、シート内の任意の変更があった際に自動的にフィルターをクリアします。
まとめ
Excelでアクティブシートのフィルターをクリアにするためのマクロを作成する方法について説明しました。VBAを使えば、簡単にフィルターをクリアし、データの視覚化を迅速に行うことができます。シンプルなコードで、フィルターの解除を自動化したり、手動で実行する方法を学び、日常的な作業を効率化してみましょう。


コメント