今回はAutoFilterメソッドでオートフィルタの解除と絞り込みクリアの方法についてご説明します。
オートフィルタの解除といっても、絞り込みのクリアとオートフィルタそのものを解除する2つがあります。
それぞれ順にご説明します。
その他のAutoFilterメソッドでオートフィルタの操作については、次の記事をご覧ください。
- オートフィルタを設定する
- 文字列や空白、ワイルドカード、複数条件で絞り込み
- 複数列で条件を指定して絞り込み
- 数値で絞り込み
- 日付で絞り込み
- 色で絞り込み
- オートフィルタの設定と絞り込みを取得する
- オートフィルタで絞り込みしたデータをコピーする
- オートフィルタで文字列と数値の絞り込み条件を取得する
1.オートフィルタの解除
オートフィルタの解除方法はとても簡単です。
AutoFilterメソッドを引数なしで指定します。
次の様なオートフィルタされているデータを解除します。

Sub Sample1()
Dim MaxRow As Long
MaxRow = Cells(Rows.Count, 1).End(xlUp).Row
Range(Cells(1, 1), Cells(MaxRow, 4)).AutoFilter
End Sub

2.オートフィルタの絞り込みクリア
次はオートフィルタの絞り込みをクリアする方法です。
絞り込みをクリアするには「ShowAllDataメソッド」を使用します。
「ShowAllDataメソッド」を使用してクリアする場合、オートフィルタが設定されていないのはもちろんですが、絞り込みがされていないだけでもエラーとなります。
そのため、「FilterMode」で絞り込みがされているか判定してからクリアします。
次のコードはオートフィルタを解除せずに、絞り込みをクリアできます。

Sub Sample2()
If ActiveSheet.FilterMode = True Then
ActiveSheet.ShowAllData
End If
End Sub
