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期望看到的有关。