![](https://excel-vba.work/wp-content/themes/cocoon-master/images/b-woman.png)
重複データは
・1コードで削除
できます!
![](https://excel-vba.work/wp-content/themes/cocoon-master/images/b-woman.png)
1コードで削除できるため、
・ループ処理で各行を確認し、重複しているかどうかを判定する
といったやり方は不要です!
![](https://excel-vba.work/wp-content/themes/cocoon-master/images/b-woman.png)
ループ処理が不要のため、
・処理の高速化が期待
できます!
![](https://excel-vba.work/wp-content/themes/cocoon-master/images/b-woman.png)
「RemoveDuplicates」メソッドを使用して、
重複データを削除します!
※「Duplicates(重複)」を「Remove(削除)」するメソッドです。
VBAコード
例えば
・シート「sample」上に、以下の表のようにID「0001」のデータが重複している
場合に、
![実行前](https://excel-vba.work/wp-content/uploads/2020/11/vba_tyouhuku_001.png)
重複データを削除するために、以下のコードを実行します。
※ここでは「ID列(=2列目)」が同じである場合、重複していると判断することにします。
Sub sample()
'表の2列目(=ID列)が重複していたら削除
Worksheets("sample").Range("B2").CurrentRegion.RemoveDuplicates Columns:=2, Header:=xlYes
End Sub
実行結果
重複データを削除できました。
※3行あったID「0001」の行が、1行になりました。
![実行結果](https://excel-vba.work/wp-content/uploads/2020/11/vba_tyouhuku_002.png)
参考①
重複しているセルの背景色を強調(=変更)することで、重複有無を確認することもできます。
詳細は以下の記事をご確認ください。
参考②
「重複を除いたリスト」の作成もできます。
詳細は以下の記事をご確認ください。
参考③
配列から重複を削除することもできます。
詳細は以下の記事をご確認ください。
参考④
上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。
●「Rangeオブジェクト」の「CurrentRegion」プロパティ
●「Rangeオブジェクト」の「RemoveDuplicates」メソッド