EXCEL VBA 重複データを削除・チェック・抽出・別シート(RemoveDuplicates メソッド)

 

 

EXCEL VBA 重複データを削除・チェック・抽出・別シート(RemoveDuplicates メソッド)

 

 

 ●はじめに

EXCELファイルを複数のユーザーで共用利用してデータを登録すると、複数のユーザーでデータを入力する事で、誤ってデータを重複登録する事もあると思います。この場合、データ量が少ない場合は、目視で探す事が出来ると思いますが、100件以上となると重複したデータを探しきれないので、【RemoveDuplicates メソッド】を利用する事で簡単に重複データを削除する事が出来ます。今回は、3つのサンプルプログラムを作成しましたので、順番に説明いたします。

 

 

 

 ●書式の説明  「RemoveDuplicates メソッド」

 

【指定した範囲から重複したデータを削除します。】

● Rangeオブジェクト.RemoveDuplicates ( Columns , Header )

・Columns:列 (重複対象の列)・(設定必須)
・Header:行 (ヘッダーの設定)・(省略可能)

定数【Header】内容(説明)
xlGuess0EXCELに範囲内の1行目をヘッダーにするか判断してもらう。
xlYes1範囲内の1行目をヘッダーにする。
xlNo2範囲内の1行目をヘッダーにしない。

 

●『使用例』
Range(“A1:C16”).RemoveDuplicates Columns:=2, Header:=xlYes

※(セルA1:C10の範囲内で、2列目(B列)の重複行を削除・1行目のヘッダーを設定)

 

 

 

 

 

重複データを削除・複数条件・複数項目 (RemoveDuplicates メソッド)①

 

 

 ●プログラム説明 (サンプル①)

下記のサンプルプログラムは、EXCELデータに同じ重複データを削除するサンプルプログラムです。サンプルデータの項目として、日付・勘定科目・金額・担当者の4項目が有り、4つの4項目がすべて同じ重複データを削除します。

 

 

 

 

●実行前~実行後 ※プログラム実行後、A列~D列(日付・勘定科目・金額・担当者)の4項目がデータが重複しているデータを削除されました。削除されるデータは、2つ同じデータが有る場合は、2つのうち1つを削除します。
(画面クリックして拡大)

 

 

 

 

重複データを削除・複数条件・複数項目・チェック (RemoveDuplicates メソッド)②

 

 

 ●プログラム説明 (サンプル②)

下記のサンプルプログラムは、サンプル①のサンプルプログラムの応用になります。今回のプログラムは、重複データを削除する前に、チェック項目に「重複」を表示します。そのチェック項目の内容で重複データを削除が判断します。

【プログラム実行の流れ】

 

 

 

 

 ●実行前~実行後 ※プログラム実行後、重複データがチェック項目に表示されました。「データを削除しますか?」の確認メッセージが表示されます。「はい」を選択して、重複データを削除されました。
(画面クリックして拡大)

 

 

 

 

重複データを削除・複数条件・複数項目・チェック・別シート (RemoveDuplicates メソッド)③

 

 

 ●プログラム説明 (サンプル③)

下記のサンプルプログラムは、サンプル①と②のサンプルプログラムの応用になります。今回のプログラムは、重複した削除データを別シートに記載するサンプルプログラムです。元のデータを保管する時や、プログラムを何度も実行する場合は、このように、データを別シートに転記して処理を実行する方が何度も繰り返して処理を実行する事ができます。

【プログラムの流れ】

【プログラム実行条件】
・ワークシート名「DATA」  ・・・重複データのある「氏名データ」一覧がある。
・ワークシート名「一覧」  ・・・重複データを削除して「氏名データ」が作成されます。

 

 

 

  ●実行前~実行後 ※プログラム実行後、シート「DATA」にある重複したデータをシート「一覧」へ転記して重複データが削除されました。なお、シート「DATA」のデータは、重複されたままになっております。
(画面クリックして拡大)

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。