动态数据库在自动过滤器上编译错误

时间:2017-05-02 16:14:51

标签: excel-vba vba excel

尝试运行宏时会出现错误,该宏应根据列AN中的日期过滤我的数据。我希望这是依赖于日期的,所以它应该从今天的日期之前的2个月过滤掉所有内容。

Sub Move2017()
Macro 2017 Clear
Dim DQ As Date
DQ = dateserial(Year(Now), month(Now) - 2, 1)
Range("A1:AZ100000").AutoFilter field:=40, Operator:= _
    xlFilterValues, Criteria2:=Array(1, DQ)
End Sub

我一直收到以下错误:  “编译错误:参数数量错误或属性分配无效”

有关如何解决此问题的任何想法?

2 个答案:

答案 0 :(得分:3)

为了防止@Scott Holtzman解决方案无法正常工作,有时带AutoFilter的{​​{1}}可能会非常棘手,具体取决于您如何格式化单元格。在某些情况下,Date可以更好地发挥作用。

此外,您可以更轻松地使用Double功能在今天的日期前2个月获取日期。

DateAdd

答案 1 :(得分:2)

试试这个:

Range("A1:AZ100000").AutoFilter field:=40, Criteria1:=">="&DQ, Operator:=xlAnd

经过测试并适合我。