繁体   English   中英

Excel VBA使用ShowAllData重置多个高级筛选器

[英]Excel VBA Reset multiple advanced filters with ShowAllData

我在工作表中使用3个高级筛选器,我想重置所有3个表。 使用showAllData仅重置最后一个表。 我尝试取消隐藏筛选的行,但未成功。 也许我应该遍历所有3个表?

Sub ClearFilter()
    ActiveSheet.ShowAllData
End Sub

ShowAllData清除最后一张表中的过滤器后,您可以取消隐藏其余隐藏行以显示所有数据,如下所示...

Sub ClearFilter()
    On Error Resume Next
    ActiveSheet.ShowAllData
    ActiveSheet.Rows.Hidden = False
End Sub

我认为这是您要寻找的:

IF Sheets("Sheet1").ListObjects("Table1").AutoFilter.FilterMode = True THEN Sheets("Sheet1").ListObjects("Table1").AutoFilter.ShowAllData

替换工作表名称和表名称。 您需要使用IF语句来检查是否设置了过滤器,否则当您尝试清除不存在的过滤器时会出错。

有关更多信息,请参见: 当工作表具有过滤器时为什么ActiveSheet.FilterMode返回False?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM