
Excel VBAのRemoveDuplicatesは、特定の範囲から重複した値を取り除くためのメソッド。RemoveDuplicatesの使い方にサンプルコードをもとに解説します。
📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!
👇実務で“そのまま使える”テンプレ付きで、コピペするだけ!
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き
Excel VBA RemoveDuplicatesの基本的な使用方法
Option Explicit
Sub RemoveDupes()
' 対象範囲の指定
Dim rng As Range
Set rng = Range("A1:A10") ' 重複をチェックしたい範囲を指定
' 重複データの削除
rng.RemoveDuplicates Columns:=1, Header:=xlNo
End Sub
この例は、A列(1列目)の範囲から重複した値を削除しています。
例えば、A列に1行目から下記データ
Apple
Banana
Apple
Orange
Banana
RemoveDuplicatesを実行した結果は下記になります。
Apple
Banana
Orange
指定した列において重複したデータが削除され、一意のデータのみ残ります。
Columns
重複をチェックする列の指定。上記の例では1列目(A列)
Header
ヘッダーがある場合、xlYes、ヘッダーがない場合、xlNoを指定します
RemoveDuplicatesメソッドは元のデータを変更します。削除されたデータは元に戻せませんので、事前にバックアップをとるなどの対策が必要です。また、重複の判定は指定した列での完全一致です。
複数列を対象にする場合は、Columnsで対象列を指定します。
Excel VBA RemoveDuplicatesで複数列を指定
Option Explicit
Sub RemoveDupesMultipleColumns()
' 対象範囲の指定
Dim rng As Range
Set rng = Range("A1:C10") ' 重複をチェックしたい範囲を指定
' 重複データの削除
rng.RemoveDuplicates Columns:=Array(1, 2, 3), Header:=xlNo
End Sub
この例は、A列、B列、C列の組み合わせで重複をチェックして削除します。
自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。
Columns
重複をチェックする列の指定。Array 関数を使用して複数の列を指定します。上記の例では、A列、B列、C列の組み合わせで重複をチェックしています。
「Excel VBAで自動化するコードのベースが習得できる解説書」
Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。