複数列指定で重複データ削除を行いたい
Excel操作(重複データ削除)では、列番号を1つしか指定できないため、A~B列を指定して、重複削除が行えません。
colNumber = !列番号!
worksheet.Range(range).RemoveDuplicates Array(colNumber), header
これを
colNumber = CInt(!列番号1!)
colNumber2 = CInt(!列番号2!)
worksheet.Range(range).RemoveDuplicates Array(colNumber,colNumber2), header
とすれば、列番号1に1、列番号2に2をセットすれば、うまく動作します。
しかし、これでは2列しか指定できないので、左の列と右の列を指定できるようにするため
配列にセットする方法
Dim colNumber()
colL = CInt(!左列番号!)
colR = CInt(!右列番号!)
ReDim colNumber(colR - colL)
For i = colL To colR
colNumber(i - colL) = i
Next
worksheet.Range(range).RemoveDuplicates colNumber, header
または、カンマ区切りの文字列を作成し、Splitで配列にする方法
colL = CInt(!左列番号!)
colR = CInt(!右列番号!)
colStr = ""
For i = colL To colR
if colStr <> "" Then
colStr = colStr & ","
end if
colStr = colStr & CStr(i)
Next
colNumber = Split(colStr , ",")
worksheet.Range(range).RemoveDuplicates colNumber, header
ですと、「プロシージャの呼び出し、または引数が不正です。」とエラーになります。
Arrayと配列は異なるのでしょうか?
どなたか解決策をご教授ください。