事務作業をしていると、必ずぶつかるのが「重複データ」の処理ではないでしょうか。
私も昔、数千件の顧客リストを1枚ずつ目視でチェックして、丸一日費やした経験があります。
しかし、Excel VBAの「RemoveDuplicates」を使えば、そんな不毛な作業をたった1秒で終わります。
RemoveDuplicatesとは?
プログラミング用語で書くと難しそうですが、その役割はデータを整理するための「ふるい」のようなものです。
たくさんのイチゴ(データ)が入ったカゴを想像してみてください。
カゴの中には、大きさや形が全く同じイチゴがいくつも混ざっている状態です。
ここでRemoveDuplicatesを使えば、「同じ形のイチゴは1個だけ残して、重複している分はすべて取り除いて」という指示を、一瞬で実行してくれます。
【コピペで使える】基本のコード
まずは、特定の列(例えばA列)の重複を削除するシンプルなコードを紹介します。
Sub DeleteDuplicateData()
' 対象となる表の範囲を指定します(A1セルから連続する範囲)
' Columns:=1 は「1列目(A列)を基準に重複をチェックして」という意味です
' Header:=xlYes は「1行目はタイトル(見出し)だから消さないで」という指定です
Range("A1").CurrentRegion.RemoveDuplicates Columns:=1, Header:=xlYes
' 完了を知らせるメッセージ
MsgBox "重複データの削除が完了しました!"
End Sub
実務で役立つ「複数条件」での重複削除
「名前だけじゃなくて、住所も一致している時だけ消したい」という場合も多いですよね。その場合は、基準にする列を増やすだけです。ぜひ活用してみてください!
Sub MultiColumnDelete()
' 1列目(名前)と2列目(住所)の両方が一致した場合に削除します
' Array(1, 2) と書くことで、複数の列を指定できます
Range("A1").CurrentRegion.RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
MsgBox "複数条件での削除が完了しました。"
End Sub
VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。
リンク
リンク

コメント