重複行を削除
3行マクロ 18回-3
重複行を削除する
ここまでは、重複行を非表示にして、重複しない行だけを別シートにコピーするというマクロのコードを作成しました。
複数列からなる1行のデータ のすべてが一致した場合には、その行は不要であるとし削除します。
重複を削除するには
この場合は、データタブから、データツールグループにある、重複の削除をクリックします。


すると、重複の削除ダイアログが表示されるので、重複が含まれる列を選択します。今回は、列4つとも選択しています。


OKをクリックすると、重複行が削除されます。


マクロのコードは
この手順をマクロで記録します。コードは以下のようになりました。

Sub Macro2()
Selection.CurrentRegion.Select
ActiveSheet.Range("$B$2:$E$26").RemoveDuplicates Columns:=Array(1, 2, 3, 4), _
Header:=xlYes
End Sub

このコードを汎用性の高いものにするために、以下のように修正します。列全体を選択することで、行数を意識しないで済みます。使うときは、そのデータの列をRangeで指定し、Arrayでどの列に重複があるのか指定してやります。
Sub 重複削除()
ActiveSheet.Range("B:E").RemoveDuplicates Columns:=Array(1, 2, 3, 4), Header:=xlYes
End Sub
動画で詳しく解説しています。
