如何在 Excel 中清除活动工作簿中所有工作表的筛选器?

ms excelmicrosoft technologiescomputers更新于 2025/2/16 9:16:17

本文将学习如何移除工作簿中各个工作表上应用的筛选器。许多用户会在工作表上应用筛选器来查看所需数据,之后再按原样保存文件而不移除筛选器。这可能会使用户在再次打开文件时感到困惑,因为他可能会将筛选后的数据转发给其他人用于报告或分析,从而导致完整的详细信息丢失。请按照以下步骤操作。

使用 VBA 代码清除工作表的所有筛选器

提示*:可以使用键盘快捷键 Alt+D+F+F 移除工作表的筛选器。

要从工作簿的所有工作表中移除筛选器,请按照以下步骤操作。

步骤 1:以下是包含两张已应用筛选器的工作表的示例数据。

步骤 2:按下键盘上的 Alt+F11 键,Microsoft Visual Basic for Applications 窗口将打开。

也可以使用"开发人员"选项卡打开上述编辑器,如下所示:

步骤 3:在 Microsoft Visual Basic for Applications 窗口中,双击"项目"面板中的 ThisWorkbook。

步骤 4:现在复制以下 VBA 代码并将其输入到 ThisWorkbook(代码)窗口中。

Sub Clear_fiter() /A function is being called to clear the filters.
    Dim Wks As Worksheet /returns a Sheet collection 
    object that only contains the worksheets  
    For Each Wks In ThisWorkbook.Worksheets 
    / specifying each sheet of a worksheet or workbook
On Error Resume Next / If any error occurs in identifying 
the sheet then move to the next sheet.
If Wks.AutoFilterMode Then / Check if Autofilter is on in a sheet.
Wks.AutoFilterMode = False / Disable the autofilter from the selected sheet.
End If / End if no sheet is next.
Next Wks / Otherwise move to next sheet.
End Sub / end of sub

步骤 5:输入代码后,按键盘上的 Alt+Q 键关闭 Microsoft Visual Basic for Applications 窗口。

步骤 6:接下来,将文件保存为"Excel 启用宏的工作簿"格式。

步骤 7:现在,返回文件并按下 Alt+F8,宏对话框将打开,如下所示。

注意:选择要应用更改的文件时,请考虑以下几点:

  • ⦁ 如果选择"所有打开的工作簿",则会从所有打开的 Excel 文件中移除过滤器。

  • ⦁ 如果选择"此工作簿",则会从相应工作簿的活动工作表中移除过滤器。

  • ⦁ 如果选择"",则会从相应工作簿的所有工作表中移除过滤器。

步骤 8:现在所有过滤器都将已移除。

结论

本文主要介绍如何从所有活动工作簿及其工作表中移除已应用的过滤器。通常的做法是,在保存文件之前,务必从工作簿中移除所有过滤器,以避免在数据分析过程中丢失数据。还有许多其他方法可以从单个工作表或所有工作簿中移除过滤器。更多方法将在后续文章中分享。请继续学习,继续探索 Excel 应用程序。


相关文章


有用资源