使用准则2时Excel VBA自动筛选错误

使用准则2时Excel VBA自动筛选错误,excel,vba,Excel,Vba,Excel 2016 fr 32位,Windows 10 我想筛选一月的日期。宏记录器提供: ActiveSheet.Range("$A$1:$A$100").AutoFilter Field:=1, Operator:= _ xlFilterValues, Criteria2:=Array(1, "1/1/2020") 当我回放时,如果获取“Range类的自动筛选方法失败,运行时错误1004”。 重要提示。同样的代码可以在使用Excel

Excel 2016 fr 32位,Windows 10

我想筛选一月的日期。宏记录器提供:

    ActiveSheet.Range("$A$1:$A$100").AutoFilter Field:=1, Operator:= _
    xlFilterValues, Criteria2:=Array(1, "1/1/2020")
当我回放时,如果获取“Range类的自动筛选方法失败,运行时错误1004”。 重要提示。同样的代码可以在使用Excel 2013的同一台计算机上正常工作


提前感谢。

标准2
用于比较两个标准的值(
,或
)。有关详细信息,请参阅:

如果要筛选值(可能是因为运算符而需要的值),则需要将
变量数组
(基于1)传递到
标准1

大概是这样的:

Dim WantedVals作为变量
ReDim WANTEDVAL(1到n)
WantedVals(1)=“1/1/2020”
'...
WantedVals(n)=“12/1/2099”
ActiveSheet.Range(“$A$1:$A$100”)。自动筛选字段:=1,运算符:=_
xlFilterValues,Criteria1:=WantedVals
您的代码可能是这样生成的,因为您在宏录制期间添加了第二个值。当筛选两个值时,Excel会在内部将筛选运算符更改为
,然后使用
Criteria1=Value1
Criteria2=Value2

注意():
使用带有日期的
自动筛选
时,格式应与英文日期分隔符(
/
)一致,而不是与本地设置(
)一致。有效日期为
2/2/2007
,而
2.2.2007
无效。

您缺少
Criteria1
此代码是宏记录器输出。此外,它在Excel 2013中运行良好。