在自动过滤器中使用数组

时间:2020-06-24 08:45:17

标签: excel vba autofilter

rname是我动态初始化的数组。

我在vba代码中得到了这个

运行时错误'1004':应用程序定义的错误或对象定义的错误

For z=2 to lr2
    k=0
    if sh3.Cells(z,2)>1 Then
        size=sh3.Cells(z,2).value2-1
        Redim rname(size)
        Do While z<z+sh3.Cells(z,2).value2 And k<sh3.Cells(z,2).value2-1
            z=z+1
            rname(k)=sh3.Cells(z,1).value2
            k=k+1
        Loop
        With sh1.Range("A3")
            .AutoFilter Field:=14, Criteria1:= sh.Cells(x,2).value2
            .AutoFilter Field:=4, Criteria1:=rname()
        End With

1 个答案:

答案 0 :(得分:0)

我认为您的AutoFilter需要知道您的准则要使用什么XlAutoFilterOperator。试试,请在以下位置进行修改:

.AutoFilter Field:=4, Criteria1:=rname(), Operator:=xlFilterValues