重複を削除
[重複を削除]コマンドをVBAで実行して
重複するデータを削除する方法をみていきます。
Excelのコマンド[重複を削除]で重複を削除することができます。
手動で実行するには次のようにします。
範囲を選択した状態で
[データ]-[重複の削除]をクリックすると
次のウィンドウが表示されます。
重複しているかどうかを判定する列にチェックをいれます。
(重複の判定に使わない列はチェックをはずす。)
選択範囲の先頭行をデータとして扱わない場合は
[先頭行をデータの見出しとして使用する]にチェックをいれます。
[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メソッドを実行すると
重複があれば
選択範囲内の行が削除されて上方に詰められます。
このとき選択範囲外のデータに影響はありません。
行ごとでデータを扱いたい場合は,
重複の削除を実行するときの範囲を行全体にします。
どの列を重複の判定に使うかで
重複の削除後のデータが異なるので
次の画像でいくつか例を見てみます。
使用Ver:Win10, Excel For Office365
| 固定リンク
この記事へのコメントは終了しました。

コメント