【VBA】重複行を1コードで削除する

重複行は1コードで削除できます!

1コードで削除できるため、
 ・ループ処理で各行を確認し、重複しているかどうかを判定する
といったやり方は不要です!

ループ処理が不要のため、
処理の高速化が期待できます!

RemoveDuplicates」メソッドを使用して、
重複行を削除します!
※「Duplicates(重複)」を「Remove(削除)」するメソッドです。

PR

VBAコード

例えば
 ・シート「sample」上に、以下の表のようにID「0001」の行が重複している
場合に、

実行前
実行前

重複行を削除するために、以下のコードを実行します。
※ここでは「ID列(=2列目)」が同じである場合、重複していると判断することにします。

Sub sample()
    '表の2列目(=ID列)が重複していたら削除
    Worksheets("sample").Range("B2").CurrentRegion.RemoveDuplicates Columns:=2, Header:=xlYes
End Sub

「Range(“B2”).CurrentRegion」により、セル「B2」から続く一連の範囲対象となります。

「Columns」に「重複をチェックする列」を指定します。
※上記は「表の2列目(=ID列)」を指定しています。
※「Array(2,3)」とすることで、2列目と3列目を指定できます(=複数の列をチェック対象にできます)

対象の1行目が見出しの場合は、「Header:=xlYes」を付与します。

「Header:=xlYes」を付与することで、1行目(=見出し行)を重複チェックの対象外にできます。
※見出し行が削除されてしまう事故を防止できます。

PR

実行結果

重複行を削除できました。

実行結果
実行結果
PR

参考①

重複しているセルの背景色を強調(=変更)させることで、重複有無を確認することもできます。

詳細については以下の記事をご確認ください。

PR

参考②

上記のVBAコードで使用した「RemoveDuplicates」メソッドの詳細については、公式サイトをご確認ください。

タイトルとURLをコピーしました