前提
・フィルタのクリアとは「絞るのをやめてデータを全て表示すること」
・フィルタの解除とは「フィルタを消すこと」
・フィルタを絞る/クリア/解除は、フィルタを設定したセルを選択していなくとも実施可能
準備
シート[サンプルシート]を作成し、以下の表を作成する
サンプルプログラム
Sub filterSample()
Dim targetRange As Range
'フィルタを設定するセル範囲の最初のセルを指定
Set targetRange = Range("B2")
'フィルタを設定
targetRange.AutoFilter
'後続処理の確認のためにフィルタを設定したセルから選択を外す
Range("A1").Select
'フィルタを絞る
'※ここでは4列目(列「性別」)を「女性」で絞る
'※フィルタを設定したセルが選択されていなくとも可能
targetRange.AutoFilter Field:=4, Criteria1:="女性"
'フィルタをクリア
'※フィルタを設定したセルが選択されていなくとも可能
If Sheets("サンプルシート").FilterMode Then
Sheets("サンプルシート").ShowAllData
End If
'フィルタを解除 ※「フィルタを設定」と同じコード
'※フィルタを設定したセルが選択されていなくとも可能
targetRange.AutoFilter
End Sub
結果
●フィルタを設定
●フィルタを絞る
●フィルタをクリア
●フィルタを解除
注意点
・フィルタでデータを絞っていない状態でフィルタのクリアをするとエラーになるため、
クリアをする際は必ずチェックをし、絞られていることを確認してからクリアする。