'「オートフィルタ」を解除
Range("B2").AutoFilter
'設定されている場合に解除
If ActiveSheet.AutoFilterMode = True Then Range("B2").AutoFilter
'「フィルタ」を解除
ActiveSheet.ShowAllData
'フィルタされている場合に解除
If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData
では、解説していきます。
オートフィルタの解除
オートフィルタの解除するには、「AutoFilter」を使います。
オートフィルタを解除(AutoFilter)
「AutoFilter」を使って、オートフィルタを解除してみます。
Sub TEST1()
'オートフィルタを解除
Range("B2").AutoFilter
End Sub
フィルタした表を用意しておきます。
フィルタした表
では、VBAコードを実行してみます。
オートフィルタを解除
オートフィルタ自体を解除できました。
オートフィルタのフィルタを解除(ShowAllData)
次は、「ShowAllData」を使って、オートフィルタの「フィルタ」を解除してみます。
Sub TEST2()
'オートフィルタのフィルタを解除
ActiveSheet.ShowAllData
End Sub
先ほどと同じフィルタした表を用意しておきます。
フィルタした表
では、VBAコードを実行してみます。
フィルタを解除
フィルタを解除できました。
オートフィルタの設定は残ったままです。
オートフィルタを解除する場合
オートフィルタを解除したい場合は、「.AutoFilter」を使います。
「.AutoFilter」を使った場合の動きについてみてみます。
AutoFilterは設定と解除が交互
「AutoFilter」は設定と解除が交互に実行されます。
Sub TEST3()
'オートフィルタの解除と設定を交互
Range("B2").AutoFilter
End Sub
Sub TEST8()
'オートフィルタを解除
Range("B2").AutoFilter
'オートフィルタ操作をする
Range("B2").AutoFilter 3, ">=1000"
'オートフィルタは設定したまま、フィルタのみ解除
If ActiveSheet.FilterMode = True Then
ActiveSheet.ShowAllData
End If
End Sub