« 形式を選択して貼り付け | トップページ

2020年6月21日 (日)

重複を削除

[重複を削除]コマンドをVBAで実行して
重複するデータを削除する方法をみていきます。



Excelのコマンド[重複を削除]で重複を削除することができます。
手動で実行するには次のようにします。

範囲を選択した状態で
[データ]-[重複の削除]をクリックすると
次のウィンドウが表示されます。
Vba20200621a

重複しているかどうかを判定する列にチェックをいれます。
(重複の判定に使わない列はチェックをはずす。)
選択範囲の先頭行をデータとして扱わない場合は
[先頭行をデータの見出しとして使用する]にチェックをいれます。
[OK]を押すと重複が削除できます。



VBAでこのコマンドを実行するには
RemoveDuplicatesメソッドを使います。

コード例:

Range("A1:C10").RemoveDuplicates _
    Columns:=Array(1,2,3), _
    Header:=xlNo

上記コードは
Range("A1:C10")で"A1:C10"の範囲を指定します。

Columns引数には
どの列を重複の判定に使うかを指定します。

"A1:C10"の範囲には
A,B,C列の3列あります。
全ての列を重複の判定に使いたい場合は
Columns:=Array(1,2,3)と指定します。

1列目(A列)のみの場合,Columns:=Array(1)
1,2列目(A列・B列)のみの場合,Columns:=Array(1,2)とします。

Header引数には
指定範囲の先頭行を見出しとして扱うかを指定します。
見出しとして扱う場合,Header:=xlYes
見出しとして扱わない場合,Header:=xlNoにします。

RemoveDuplicatesメソッドを実行すると
重複があれば
選択範囲内の行が削除されて上方に詰められます。
このとき選択範囲外のデータに影響はありません。
行ごとでデータを扱いたい場合は,
重複の削除を実行するときの範囲を行全体にします。

どの列を重複の判定に使うかで
重複の削除後のデータが異なるので
次の画像でいくつか例を見てみます。
Vba20200621b

使用Ver:Win10, Excel For Office365

|

« 形式を選択して貼り付け | トップページ

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: 重複を削除:

« 形式を選択して貼り付け | トップページ