vbaエクセルマクロ
RemoveDuplicatesについて
RemoveDuplicatesを使って重複する行を削除するマクロを組んで、あるデータを作成しています。
シート1のA1セルには「=sheet2!A1」、
同様にA2セルは「=sheet2!A2」
・
・
・
B1セル「=sheet2!B1」
B2セル「=sheet2!B2」
・
・
・
と入っていて、シート2の値をシート1にもってくるようにしています。
マクロでRemoveDuplicatesメソッドで
シート1のA列とB列ともが、他の行と重複している場合は行削除を行い、
最後に全体をコピーして値の貼り付けをして
マクロ終了でデータ作成完了としています。
そこで質問ですが、
RemoveDuplicatesメソッド(重複行削除)は、値の貼り付けをする前に起動させるのがよいのか、
それとも後がよいのか、
前と後でどのような違いが出てくるのか、
教えてほしいです。
セルに式が入った状態で起動させるとおかしくなるでしょうか。
値にして起動させないといけないものでしょうか。。
No.1ベストアンサー
- 回答日時:
RemoveDuplicatesメソッドは、指定された列内で重複する行を削除するためのメソッドです。
このメソッドを実行する前に、セル内の式を値に変換する必要はありません。RemoveDuplicatesメソッドは、式が含まれるセルの内容を自動的に評価して重複行を削除します。ですので、シート1のA列とB列の両方が重複する行を削除するためにRemoveDuplicatesメソッドを使用する場合、値の貼り付けを行う前に実行することができます。貼り付けを行う前にRemoveDuplicatesメソッドを使用すると、最終的なデータのサイズが小さくなるため、処理時間が短くなります。
一方、値の貼り付けを行った後にRemoveDuplicatesメソッドを使用する場合、元のデータのセルに式が含まれていた場合、貼り付けた値に基づいて重複をチェックすることになるため、最終的なデータサイズが大きくなる可能性があります。しかし、値を貼り付けた後にRemoveDuplicatesメソッドを使用すると、元のデータを保持しているため、処理がうまくいかなかった場合に元のデータを元に戻すことができます。
したがって、どちらの方法を使用するかは、データのサイズや処理時間、以後の作業の便宜性に基づいて判断する必要があります。
回答ありがとうございます。
値に変換する必要はないのですね。
処理時間が違うということで、値にする前に実行するほうがよさそうですね。
大変勉強になりました!
参考にさせていただきます_(._.)_
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) RemoveDuplicatesメソッドについて教えてください。 シート1にシート2から値をもってく 1 2023/02/28 22:43
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて 重複したものがあれば行を削除するとい 1 2023/02/27 18:49
- Visual Basic(VBA) vbaエクセルマクロについて RemoveDuplicatesを使わずに、重複行を削除すらマクロを作 3 2023/03/02 22:03
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 2 2023/03/02 18:54
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 6 2023/03/03 18:05
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
DataGridViewでセルクリックイ...
-
配列のメソッド
-
コマンドプロンプト実行後に画...
-
Refreshメソッドの使い方
-
FEM解析の読み方は?
-
Labelコントロールに数字を代入...
-
VBAでSaveAs使用し、指定してい...
-
「CA2202: オブジェクトを複数...
-
C# 演算 最大値 最小値 表現の仕方
-
クエリ文字列の"?"の後を非表示...
-
オートシェイプの位置がずれる...
-
エクセルVBAにおけるON TIMEメ...
-
VBPをダブルクリックするとたま...
-
drawStringで文字間隔の調整
-
vbaエクセルマクロ RemoveDupli...
-
javascriptからjavaを呼び出したい
-
final修飾子を使っているのに、...
-
C#で右からnカラム目に文字を挿...
-
for文(拡張)内の変数(ローカ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
final修飾子を使っているのに、...
-
JSPで<SELECT>の中にDBから持っ...
-
Labelコントロールに数字を代入...
-
エクセルVBAにおけるON TIMEメ...
-
javascriptからjavaを呼び出したい
-
DataGridViewでセルクリックイ...
-
VBPをダブルクリックするとたま...
-
onClickで関数呼出し後に、結果...
-
コマンドプロンプト実行後に画...
-
配列のメソッド
-
日本の教育って時間が無い中で...
-
Refreshメソッドの使い方
-
mainメソッドのthrows節で設定...
-
【sendkeysメソッドが動かずに...
-
C# 演算 最大値 最小値 表現の仕方
-
VBA コピーが出来ません…!
-
Application.Wait の参照設定
-
ウィンドウを最前面にできません
-
for文(拡張)内の変数(ローカ...
おすすめ情報