【超便利】重複行を一瞬で削除できるRemoveDuplicatesの使い方!【Excel VBA】

こんにちは!『ルウちゃんのExcel Labo』管理人の@rouxchanblogです!

今回はこのような悩みについて解説します。

ルウちゃん

重複した行を削除する方法ってどうすればいいの?

この記事でわかるようになること
  1. 重複している行の削除方法
  2. RemoveDuplicatesの基礎的な使い方
目次

はじめに

重複行を削除するにはRemoveDuplicatesを使いましょう!

早速どのような処理が行われるのかコードと画像を見ていきましょう!

Sub Sample1()
    Dim maxRow As Long
    maxRow = Cells(Rows.Count, 1).End(xlUp).Row
    Range("A1:D" & maxRow).RemoveDuplicates (Array(2, 3, 4)), Header:=xlYes
End Sub
実行前
実行後

このようにRemoveDuplicatesを使うと短いコードで重複行を削除できます。

次にコードの詳しい解説をしていきます!

RemoveDuplicatesとは

概要

記述方法

object.RemoveDuplicates ( columns [, header ] )

RemoveDuplicatesとはメソッドを1つになります。

メソッドとはオブジェクト(対象)に命令を与えることができます。

このメソッドでは指定したセル範囲から重複データを含む行を削除します。

削除される場合は、重複しているデータが含まれる行の先頭行を残して削除されます。

オブジェクト

対象となるオブジェクトはRangeオブジェクトを使用します。

今回は対象をA1セルからCの最終行のセルまでを選択しました。

最終行を取得するコードの書き方も合わせてコピペして使ってください!

引数

第一引数では重複対象を探す列を指定します。

今回は2,3,4列目が重複している行を削除したかったのでこのように書いています。

ここは列数を増やすこともできるので好きなように変えてください!

第二引数は1行目をタイトルとして範囲に含めるかを指定できます。

基本的には省略しても問題ありませんので必要により下記の表を活用して使ってみてください!

定数内容
xlGuess0先頭行をタイトル行とみなすかどうか、Excel が特定します。
xlYes1先頭行をタイトル行とみなします。
xlNo2範囲全体が重複データ削除の対象になります。(既定値)
引用:excelwork

まとめ

今回はRemoveDuplicatesメソッドを使った重複行を削除する方法を見ていきました。

このほかにも1行ずつ確認していき方法や、COUNTIF関数を使う方法もありますがRemoveDuplicatesメソッドを使った方がコードがスッキリして処理も軽いのでおすすめです。

ぜひ実際に手を動かして試してみてください!

この記事で少しでも皆さんのお役に立てれば幸いです!

忘れないうちにお気に入り登録もお願いします!

ありがとうございました!

/// お得な情報 ///

すぐに使えて便利なテクニックが650個も手に入る!

気になる人は今すぐクリック!!

 

コメントはお気軽に!

コメントする


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

目次