「オートフィルタ 一括解除方法」
といった検索が行われていることがあります。
複数のワークシートにオートフィルタを設定した場合に、ひとつひとつ解除作業をするのを面倒に感じた方の検索でしょう。
残念ながら、複数シートのオートフィルタ一括解除機能は、標準では用意されていません。
作業グループを設定しておいてオートフィルタの解除を行おうとしても、コマンド自体が使用不可の状態になり、一括解除することはできません。
しかしVBA(Visual Basic for Applications)で、簡単にマクロを作成することができます。
▼すべてのオートフィルタを一括解除するマクロ
Sub RemoveFiltersAllWorksheets()
Dim objWorkSheet As Worksheet
For Each objWorkSheet In Worksheets
objWorkSheet.AutoFilterMode = False
Next
End Sub
AutoFilterModeプロパティをFalseにしてやれば、オートフィルタは解除できますから、すべてのワークシートに対して、AutoFilterModeプロパティをFalseにする処理を行ってやれば、オートフィルタを一括解除するマクロになります。
上記のマクロではFor Each Nextループの中で、AutoFilterModeプロパティをFalseにしています。
▼サンプルファイル(003497.xls 38KByte)ダウンロード
オートフィルタの一括解除を頻繁に行う機会のある方はご確認ください。
For Each Nextループの中でワークシートに対して何らかの処理を行うのは、Excelマクロの基本技ともいっていいものですので、標準で用意されていないような、すべてのシートに対する処理を行う機会が多いという方は、是非マスターされることをおすすめします。
トラックバック:0
- TrackBack URL
- Newer: #NULL!エラーの表示される例
- Older: シート名変更のショートカットキーは?−QATの利用

