运行时错误"1004":范围类的自动筛选方法失败



我在 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

你能帮我如何纠正它吗

问候 安娜·史密斯

我不确定这是否已经解决(它已经有好几年了(,但我有一个类似的错误"1004":范围类的自动过滤方法今天失败了,结果我应该过滤的数据在一个表中,这让它很无聊。 (发送报告的用户更改了他们发送报告的方式(

取消表格数据(将表转换为范围(解决了我的问题。 也许这会帮助其他人。

代码中的问题包括:

  1. @Cyril在评论中所说的话,以及@DavidZemens的更新

"Autofilter , Field"不需要"、"的位置,并且可能需要"=" & Mon条件

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

最新更新