関数・メソッド

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

RemoveDuplicatesメソッドとは

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

構文
Object.RemoveDuplicates (Columns, Header)

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

 

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

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

名前 個数
A 10
B 20
B 50
A 10
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 はデータを削除をしてしまい、元に戻せなくなるので注意が必要です。

 

関連記事

 

コメント