器用貧乏の独り言

器用貧乏なおっさんが気の向くままに。

【VBA】重複を削除するマクロ

◇前置き

大量のデータを扱っていると、重複の確認が大変だったりしませんか?
今日はワンクリックで重複したデータを削除するマクロを紹介します。

◇概要

サンプルとしてこんなExcelを用意しました。
※行数や列数は必要に応じて増やしてください。

データを入力してボタンを押すと、重複したデータを削除してくれます。
今回は、項目1・2ともに完全に重複したデータだけを削除します。
※項目1が重複していても、項目2の値が違えば別データとして残します。

ソースコード

今回のソースコードがこんな感じです。

Sub Overlap_Delete()
Dim max As Long
   max = Cells(Rows.Count, 2).End(xlUp).Row
   Range("B4:C" & max).RemoveDuplicates Array(1, 2)
   Range("B4:C13").Borders.LineStyle = xlContinuous
   MsgBox "重複データの確認・削除が完了しました。"
End Sub

非常にシンプルなコードですね。
今回は、B/C列しか使っていませんが実際に使う時は、Cのところを実際に使うデータ範囲に書き換えて使用してください。

また重複の判定に使用する列は、Array()で指定しています。
判定用の列を変えたい・増やしたいときはArayy()の中身を編集してください。

◇使い方

それでは実際に使っていきましょう。
とりあえず適当にデータを入力します。

ボタンをクリックすると・・・

無事、重複したデータのみが削除されました!

◇最後に

今回は例として少ないデータ数で紹介しましたが、データや列が多ければ多いほど、このマクロの有難味が増すと思います。

コードも非常にシンプルでVBAを始めたての方にも、とっつきやすいマクロだと思います。

この記事も誰かの役に立つと嬉しいです。