如何快速一次性对所有工作表应用或取消筛选(类似Ctrl+Shift+L)
批量对所有工作表应用/取消筛选的方法
Excel原生没有一次性操作所有工作表筛选的快捷键,你可以通过VBA宏实现这个功能,效果和单个工作表按Ctrl+Shift+L完全一致:
实现步骤
- 打开目标Excel文件,按下
Alt+F11打开VBA编辑器 - 在左侧项目窗口右键点击你的工作簿名称,选择「插入」→「模块」
- 在弹出的代码窗口中粘贴以下代码:
Sub ToggleAllSheetFilters() Dim ws As Worksheet ' 遍历工作簿里的每一张工作表 For Each ws In ThisWorkbook.Worksheets ' 切换筛选状态:有筛选就取消,没筛选就开启 ws.AutoFilterMode = Not ws.AutoFilterMode Next ws End Sub
- 按下
F5运行宏,或者关闭VBA编辑器后,按Alt+F8选中ToggleAllSheetFilters再点击「执行」
进阶设置:添加快捷键
如果想一键触发这个批量操作,可以给宏设置自定义快捷键:
- 按
Alt+F8打开宏对话框 - 选中
ToggleAllSheetFilters,点击「选项」 - 设置你想用的快捷键(比如
Ctrl+Shift+Alt+L),确定后就能直接用快捷键批量切换所有工作表的筛选状态了
内容的提问来源于stack exchange,提问作者NND
相关产品推荐
相关产品推荐

