我在工作表中使用3个高级过滤器,我想重置所有3个表。使用showAllData仅重置最后一个表。我尝试取消隐藏筛选的行,但未成功。也许我应该遍历所有3个表?
Sub ClearFilter()
ActiveSheet.ShowAllData
End Sub
答案 0 :(得分:0)
ShowAllData
清除了上一张表中的过滤器后,您可以取消隐藏其余隐藏行以显示所有数据,如下所示...
Sub ClearFilter()
On Error Resume Next
ActiveSheet.ShowAllData
ActiveSheet.Rows.Hidden = False
End Sub
答案 1 :(得分:0)
我认为这就是您想要的:
IF Sheets("Sheet1").ListObjects("Table1").AutoFilter.FilterMode = True THEN Sheets("Sheet1").ListObjects("Table1").AutoFilter.ShowAllData
替换您拥有的工作表和表格名称。您需要IF
语句来检查是否设置了过滤器,否则当您尝试清除不存在的过滤器时会出错。
有关更多信息,请参见:Why does ActiveSheet.FilterMode returns False when sheet has filter?