VBA:当使用variables传递列数组时,删除重复项失败

当使用variables传递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 

放在数组周围()

 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 

这与vba期望看到的有关。