VBA:使用变量传递列数组时删除重复项失败

cyb*_*shu 4 excel vba

当RemoveDuplicates使用变量传递Columns参数时,它会失败并抛出错误.当列直接传递时,相同的代码有效Array(1,2)

错误5:无效的过程调用或参数

 Sub test()

       Dim arrCols

       arrCols = Array(1, 2)

       '/This here works       
       Sheet1.Range("$A$1:$B$10").RemoveDuplicates Columns:=Array(1, 2), Header _
            :=xlYes

       '/ Same code fails when the columns array is passed via variable
       '/ Error 5: Invalid procedure call or argument
        Sheet1.Range("$A$1:$B$10").RemoveDuplicates Columns:=arrCols, Header _
            :=xlYes

 End Sub
Run Code Online (Sandbox Code Playgroud)

Sco*_*ner 6

放置()数组:

Sub test()

       Dim arrCols As Variant

       arrCols = Array(1, 2)

       '/This here works
       Sheet1.Range("$A$1:$B$10").RemoveDuplicates Columns:=Array(1, 2), Header _
            :=xlYes

       '/ Same code fails when the columns array is passed via variable
       '/ Error 5: Invalid procedure call or argument
        Sheet1.Range("$A$1:$B$10").RemoveDuplicates Columns:=(arrCols), Header _
            :=xlYes

 End Sub
Run Code Online (Sandbox Code Playgroud)

它与vba期待看到的有关.