如何在打开、保存或关闭Excel工作簿时清除筛选器?
在本文中,我们将了解如何在打开/关闭或保存工作表时删除筛选器。因为每当工作表中应用筛选器时,它会随文件一起保存,一直保留到手动删除。它们的过滤器可能会被误解为工作表中的缺失数据。在相应工作表中应用一些Visual Basic代码后,可以自动删除筛选器。以下是要合并的VBA代码。
- 打开工作簿时清除筛选器
-
保存工作簿时清除筛选器
-
关闭工作簿时清除筛选器
打开工作簿时清除筛选器
步骤1 - 我们取了样本工作簿,其中对数据应用了一些筛选器。
步骤2 - 现在从键盘上按 Alt+F11 键,将打开 Microsoft Visual Basic for Applications 窗口。
可以使用如下所示的Developer选项卡打开上述编辑器 –
步骤3 - 在 Microsoft Visual Basic for Applications 窗口中,双击在项目面板中可用的 ThisWorkbook。
步骤4 - 现在复制以下VBA代码,并在 ThisWorkbook(Code)窗口中输入相同的代码。
Private Sub Workbook_Open() / 设置作用域,使外部模块中的子程序无法调用该特定子程序,同时表示打开工作簿的事件。
Dim ws As Worksheet / 返回一个仅包含工作表的Sheets集合对象。
For Each ws In Worksheets / 指定工作表或工作簿的每个工作表
If ws.AutoFilterMode Then / 条件,以检查是否在任何工作表中应用任何筛选器
ws.AutoFilterMode = False / 然后将自动筛选器模式设置为false并删除所有已应用的筛选器。
End If / 如果上述条件为false,则移至下一个条件。
Next ws / 检查下一个工作表.
End Sub / 子程序结束.
步骤5 - 输入代码后,按键盘上的 Alt+Q 键以关闭 Microsoft Visual Basic for Applications 窗口 。
步骤6 - 接下来,保存文件的格式为 Excel宏启用的工作簿 。
步骤7 - 从下一次开始打开工作簿时,筛选器将自动删除。
保存工作簿时清除筛选器
步骤1 - 当您想要在保存工作表时删除筛选器时使用此功能。
步骤2 - 按照“打开工作簿时清除筛选器”的步骤2和步骤3打开 Microsoft Visual Basic for Applications 窗口。
步骤3 - 将以下代码粘贴到 ThisWorkbook 中。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) / 设置范围,这样外部模块中的子程序就无法调用特定的子程序,即一个工作簿保存时触发的事件 。
Dim ws As Worksheet / 返回一个只包含工作表的Sheets集合对象。
For Each ws In Worksheets / 指定工作表或工作簿的每个工作表。
If ws.AutoFilterMode Then / 检查任何工作表中是否应用了筛选条件的条件。
ws.AutoFilterMode = False / 然后将自动筛选模式设置为false并删除所有已应用的筛选器。
End If / 如果以上条件为false,则转到下一个条件。 。
Next ws / 检查下一个工作表。 。
End Sub / 子程序结束。 。
第四步 - 现在再次按照 打开工作簿时清除筛选器 的步骤5和6,保存文件。一旦文件保存,筛选器将被删除,无论何时打开文件都无法使用。
关闭工作簿时清除筛选器
第一步 - 当你想要在关闭工作表时移除筛选器时,使用此功能。
第二步 - 按照步骤2和3进行 打开工作簿时清除筛选器 操作,在 ThisWorkbook 中粘贴以下代码。
Private Sub Workbook_BeforeClose(Cancel As Boolean) / 设置范围,这样外部模块中的子程序就无法调用特定的子程序,即工作簿关闭时触发的事件。 。
Dim ws As Worksheet / 返回一个只包含工作表的Sheets集合对象。
For Each ws In Worksheets / 指定工作表或工作簿的每个工作表。
If ws.AutoFilterMode Then / 检查任何工作表中是否应用了筛选条件的条件。
ws.AutoFilterMode = False / 然后将自动筛选模式设置为false并删除所有已应用的筛选器。
End If / 如果以上条件为false,则转到下一个条件。 。
Next ws / 检查下一个工作表。 。
End Sub / 子程序结束。 。
第三步 -现在再次按照 打开工作簿时清除筛选器 的步骤5和6,保存文件。一旦文件关闭,筛选器将被删除,而当你再次打开文件时,它们将无法使用。
结论
最后,这三种代码可以同时输入到VBA编辑器中,以在工作簿中应用更改。这些是最有用和可靠的从工作簿中删除所有类型筛选器的方法。希望这能帮助你解决问题。继续学习,不断探索Excel。