0
私はこの1つに困惑しており、検索で答えを見つけることができませんでした。VBA:.RemoveDuplicatesの列番号Variabl配列を作成
これは、範囲の最後の3つの列から重複を削除するときにマクロレコーダーから取得されます。
私が代わりにアレイ(3、4、5)のこの使用して変数を行うマクロを作りたいSub Macro1()
' Macro1 Macro
Range("A1:E8").Select
Application.CutCopyMode = False
ActiveSheet.Range("$A$1:$E$8").RemoveDuplicates _
Columns:=Array(3, 4, 5), Header:=xlYes
End Sub
が、変数から構築された配列を渡そうとしたとき、私はエラーを取得します。
Sub MyTry1()
Dim iArray() As Integer, i As Integer
With ActiveSheet.Range("$A$1:$E$8")
ReDim iArray(1 To .Columns.Count - 2)
For i = 1 To 3
iArray(i) = i + 2
Next i 'Result is iArray= (3, 4, 5)
.RemoveDuplicates Columns:=iArray, Header:=xlYes
'returns Run-time error "5": Invalid procedure call or argument
End With
End Sub
私はInteger型、Long型、Variant型のデータを試しましたが、運はありませんでした。