Excel VBA AutoFilterメソッドでオートフィルタの解除とクリア

オートフィルタ操作

今回は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
タイトルとURLをコピーしました