プロが教えるわが家の防犯対策術!

Excelの Range.RemoveDuplicates メソッドの Columns オプションの指定方法について、ご相談させてください。

次の構文は、正しく処理できます。

ActiveSheet.Range("$A$1:$C$10").RemoveDuplicates Columns:=Array(1, 2, 3), Header:=xlYes

Columns オプションを動的に変更したく、次のように書き換えたのですが「プロシジャの呼出、または引数が不正です」となり、正しく処理されません。

Dim ary As Variant
ary = Array(1, 2, 3)
ActiveSheet.Range("$A$1:$C$10").RemoveDuplicates Columns:=ary, Header:=xlYes

正しく動作させるためには、どのように指定したら良いでしょうか。

A 回答 (1件)

検索してみたところ、ここに解決策がありました。


https://www.excel-chunchun.com/entry/RemoveDupli …

一番簡単なのはanyを括弧で括るだけでもいいようです
Columns:=(ary)

その他、いくつかの書き方も示されています。
    • good
    • 0
この回答へのお礼

お礼が遅れて申し訳ありません。
「まだベストアンサーを選べません」みたいなのが解除されるのを待っていたら、今になってしまいました。
訳の分からない質問や回答が多い中、このカテも捨てたものでは無いな~と、改めて実感しています。

お礼日時:2023/10/22 14:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A