関数・メソッド

重複したデータを削除する【RemoveDuplicatesメソッド】【ExcelVBA】

RemoveDuplicatesメソッドとは

選択範囲内の重複したデータを自動で削除する機能です。
リスト内に同じ情報は必要ない、整理をしたい、といった場合に使えます。

構文
Object.RemoveDuplicates(Columns, Header)

ObjectRangeオブジェクトを表す変数です。
Columns重複した情報を含む列のインデックスの配列を指定します。必須。
Headerヘッダーの有無を XlYesNoGuess で指定します。規定値は xlNo です。
XlYesNoGuess説明
xlGuesss0ヘッダーの有無をExcelが判断します。
xlYes1ヘッダーを含む場合に指定します。
xlNo2ヘッダーを含まない場合に指定します。

 

重複するデータを削除するサンプルコード

以下をA1セルに貼り付けてください。

名前個数
A10
B20
B50
A10
Public Sub xlYes()
  'A列の重複データを削除する
  'ヘッダーを含む
  Range("A1:B5").RemoveDuplicates Columns:=1, Header:=xlYes
End Sub

Public Sub xlNo()
  'A,B列の重複データを削除する
  'ヘッダーを含まない
  Range("A2:B5").RemoveDuplicates Columns:=Array(1, 2), Header:=xlNo
End Sub

Public Sub xlGuesss()
  'A,B列の重複データを削除する
  'ヘッダーを自動で判定
  Range("A1:B5").RemoveDuplicates Columns:=Array(1, 2), Header:=xlGuesss
End Sub


 

注意点

  • 上記サンプルコードは面倒ですが、実行する度に表を復元する必要があります。
  • 似た機能に重複データを非表示にする AdvancedFilter がありますが、
    RemoveDuplicates はデータを削除をしてしまい、元に戻せなくなるので注意が必要です。

 

関連記事

 

コメント

タイトルとURLをコピーしました