运行时错误'1004':范围类的自动过滤方法失败

时间:2017-07-19 12:39:24

标签: excel vba excel-vba

我在vba中使用了一个小代码,它给了我这个错误::

Dim today As Date
Dim Mon As Integer

today = VBA.Date()
Mon = Month(today)

Sheets("Birthday List").Activate
ActiveSheet.AutoFilterMode = False
ActiveSheet.Range("A1:E1").AutoFilter , Field:=3, Criteria1:=Mon, Operator:=xlFilterValues
ActiveSheet.AutoFilterMode = True

你能帮我解决一下吗?

问候 安娜史密斯

2 个答案:

答案 0 :(得分:1)

代码中的问题是:

  1. @Cyril在@DavidZemens的更新评论中说了什么
  2.   

    "Autofilter , Field"那里","不需要,标准可能需要"=" & Mon

    1. 您无法手动设置ActiveSheet.AutoFilterMode = True,但在调用ActiveSheet.Range("A1:E1").AutoFilter ...时会自动设置。{li>您只能设置ActiveSheet.AutoFilterMode = False以关闭自动筛选功能。

答案 1 :(得分:0)

我不确定这是否已经解决(已经有几年了)但我遇到了类似的错误“1004”:今天范围类的自动过滤方法失败,结果我应该过滤的数据在一张桌子,这很无聊。 (发送报告的用户改变了发送方式)

删除数据表(将表转换为范围)解决了我的问题。也许这会对其他人有所帮助。