从表中清除过滤器

时间:2015-10-18 11:51:41

标签: excel vba excel-vba

我正在尝试运行一个宏来替换Excel中表格中的数据,而这些宏最初可能会被过滤。

代码应首先删除过滤器,然后运行其余代码。

我尝试了“Autofilter”命令,但是表格范围内的普通过滤器选项不可见,我不得不再次手动创建过滤器选项(对我来说没什么大不了的,但是其他人使用这个文件)。

有没有办法清除过滤器而不从表中删除过滤器?

4 个答案:

答案 0 :(得分:22)

对于表格,您只需使用其ShowAllData对象的Autofilter方法:

activesheet.listobjects(1).autofilter.showalldata

请注意,即使当前没有应用过滤器,也不会出现错误。

答案 1 :(得分:1)

嗨,大家好使用此“ Worksheets(“ Sheet1”)。ListObjects(1).Range.AutoFilter = False”,请注意,如果已经应用了过滤器,则如果未应用过滤器,它将删除过滤器,然后再应用过滤器过滤器。

答案 2 :(得分:0)

我发现“ ... ClearAllData”方法失败。

偷偷摸摸的-不是一个非常优雅的解决方案-可以按字段工作(如果您需要做整个表,那么麻烦),但是如果您只有一个字段(例如,在我的示例中的字段2)很容易使用通配符:< / p>

ActiveSheet.ListObjects(1).Range.AutoFilter Field:=2, Criteria1:="=*"

答案 3 :(得分:-1)

ActiveSheet.ShowAllData

或者

Cells.AutoFilter