Excel VBA - 循环不向我的工作表添加自动筛选器

时间:2017-03-20 18:45:51

标签: excel vba excel-vba

我有一些代码(应该)遍历我的所有工作表并添加自动过滤器,但由于某种原因它们没有显示出来。当我打开事件时,我可以看到它很快被添加然后几乎立即被删除。我假设这是因为我的代码中先前编写了一些内容,但在此之前我有太多代码来评估导致问题的原因...我是否可以添加一些东西以保证添加过滤器?代码:

Dim wsfixer As Worksheet
    For Each wsfixer In ActiveWorkbook.Worksheets
With ActiveSheet
       .AutoFilterMode = False
       .Range("A:S").AutoFilter
End With
On Error Resume Next
   Next

1 个答案:

答案 0 :(得分:2)

如果要处理每个工作表上的代码,请更改

With ActiveSheet

With wsfixer

使用With ActiveSheet With块中的代码“快捷”使用活动工作表(例如.AutoFilterMode被视为ActiveSheet.AutoFilterMode)。因此,您将一遍又一遍地执行相同的代码到一个活动工作表。