データを追記方法・重複データの検出・一意データに纏める(テクニック2)●はじめに今回説明するのは、2つのデータを検索・照合して社員データに無いデータを追記するサンプルプログラムです。2つのデータを比較・照合して重複データを検出するサンプルプログラムも説明を致します。一意のデータ(ユニークデータ)を作成する際には、とても便利だと思います。以前、同じ内容のプログラムを紹介しましたが、今回の方がシンプルで分かり易いと思います。それでは、順番にサンプルプログラムを交えて順番に説明いたします。2つのデータを検索・照合して元データに無いデータを追記します。(サンプル1)下記のサンプルプログラムは、2つのデータを検索・照合して元データに無いデータを追記するサンプルプログラムです。A列に「勘定科目」一覧が表示されています。D列には、追記対象のデータ一覧が表示されています。このデータを照合してA列の「勘定科目」に無いデータを追記するサンプルプログラムです。A列の最終行を取得します。D列の最終行を取得します。A列全てに対してD列の追記対象データを1件ずつ照合する。データが無ければ追記対象データをA列(元データ)の最終行に追記します。A列の追記行+1を加算する。'A列の最終行を取得します。'D列の最終行を取得します。'A列全てに対してD列の追記対象データを1件ずつ照合する。'A列の追記行に+1を加算する。'A列の最終行を取得します。'D列の最終行を取得します。'A列全てに対してD列の追記対象データを1件ずつ照合する。'A列の追記行に+1を加算する。※プログラム実行後、A列の「勘定科目」とD列の「追記対象」と比較してA列の「勘定科目」一覧データに無い、勘定科目データが追記(追加)されました。2つのデータを比較・照合して元データに重複データが有れば、チェックマーク「*」を付ける。(サンプル2)下記のサンプルプログラムは、2つのデータを比較・照合してお互いに重複データが有れば、チェックマーク「*」を付けるサンプルプログラムです。A列の「都道府県」データとE列の「都道府県」データを比較して、重複しているデータに対して該当データのセル横にチェックマーク「*」を付けます。E列の最終行を取得します。E列の最終行まで繰り返します。A列の「都道府県」データとE列の「都道府県」データと一件づつ検索します。重複しているデータがあれば、該当データに、チェックマークを表示します。E列のデータの最終行まで繰り返します。'2つのデータを比較照合して、重複データにチェックマークを付ける。'2つのデータを比較照合して、重複データにチェックマークを付ける。'E列の最終行を取得します。'E列の最終行まで繰り返します。'A列の「都道府県」データとE列の「都道府県」データと一件づつ検索します。'重複しているデータがあれば、該当データに、チェックマークを表示します。'B列にチェックマークを表示します。'F列にチェックマークを表示します。'2つのデータを比較照合して、重複データにチェックマークを付ける。'E列の最終行を取得します。'E列の最終行まで繰り返します。'A列の「都道府県」データとE列の「都道府県」データと一件づつ検索します。'重複しているデータがあれば、該当データに、チェックマークを表示します。'B列にチェックマークを表示します。'F列にチェックマークを表示します。※プログラム実行後、A列の「都道府県」とE列の「都道府県(比較)」とデータを比較して、お互いに重複しているデータにチェックマーク「*」が表示されました。別々のシートにある2つのデータを検索・照合して元データに無いデータを追記します。(サンプル3)下記のサンプルプログラムは、別々のシートにある2つのデータを検索・照合して元データに無いデータを追記するサンプルプログラムです。今回のサンプルプログラムは、上記サンプルプログラム1の応用になります。シート「元データ」には、勘定科目一覧が表示されています。シート「追加」には、別の勘定科目一覧が表示されています。この別々のシートに分けれている勘定科目データをシート「元データ」に一意のデータとして纏めるサンプルプログラムです。シート「元データ」A列の最終行を取得します。シート「追加」A列の最終行を取得します。シート「元データ」A列全てに対して、シート「追加」A列の追記対象データを1件ずつ照合する。シート「元データ」に無ければ追記対象データA列の最終行に追記します。A列の追記行+1を加算する。'A列の最終行を取得します。'A列の最終行を取得します。'A列全てに対してD列の追記対象データを1件ずつ照合する。'データが無ければ追記対象データをA列の最終行に追記します。'A列の追記行に+1を加算する。'A列の最終行を取得します。'A列の最終行を取得します。'A列全てに対してD列の追記対象データを1件ずつ照合する。'データが無ければ追記対象データをA列の最終行に追記します。'A列の追記行に+1を加算する。※プログラム実行後、シート「元データ」A列の「勘定科目」とシート「追加」A列の「追記対象」と比較してシート「元データ」A列の「勘定科目」に無いデータが追記されました。複数のセルデータを比較・照合してデータ一覧にデータが無ければ、該当データを追記する。(サンプル4)下記のサンプルプログラムは、複数のセルデータを比較・照合してデータ一覧にデータが無ければ、該当データを追記するサンプルプログラムです。今回のサンプルプログラムでは、シート「社員データ」1とシート「社員追加データ」2を比較・照合しますが、複数のセルデータをA列~G列までのデータ1つのセルに纏めることで、複数セルの比較・照合を一括に処理する事ができます。このデータをシート「Work」にA列は、「社員データ」・B列は、「社員追加データ」作成する事で1対1のデータとして纏めて比較処理を行う事ができます。シート「社員追加データ」・・社員追加データこのデータ内に、社員データに登録されていないデータが2件あります。シート「Work」・・A列にシート「社員データ」のA列~G列の結合データが代入します。(上記:図3)シート「Work」・・B列にシート「社員追加データ」のA列~G列の結合データが代入します。シート「社員データ」の最終行に、「社員データ」に無いデータが追加登録されました。シート「社員データ」A列の最終行を取得します。※このデータは、追記を求める時にも使います。シート「社員追加データ」A列の最終行を取得します。シート「社員データ」のA列~G列のデータを結合して、シート「Work」A列に転記します。シート「社員追加データ」のA列~G列のデータを結合して、シート「Work」B列に転記します。シート「社員データ」A列の最終行+1を加算する。シート「Work」のA列・B列を比較・照合してデータが無ければシート追記します。シート「社員追加データ」分のデータを全てを繰り返します。ワークシート「社員データ」を作成してA列~G列の人事データを作成します。ワークシート「社員追加データ」を作成してA列~G列の人事データを作成します。'A列の最終行を取得します。'A列の最終行を取得します。'シート「社員データ」の最終行まで繰り返します。'社員データのA列~G列のデータを結合します。'結合したデータをシート「Work」A列に転記します。'シート「社員追加データ」の最終行まで繰り返します。'社員追加データのA列~G列のデータを結合します。'結合したデータをシート「Work」A列に転記します。'A列全てに対してD列の追記対象データを1件ずつ照合する。'データが無ければ追記対象データをA列の最終行記します。'A列の追記行に+1を加算する。'A列の最終行を取得します。'A列の最終行を取得します。'シート「社員データ」の最終行まで繰り返します。'社員データのA列~G列のデータを結合します。'結合したデータをシート「Work」A列に転記します。'シート「社員追加データ」の最終行まで繰り返します。'社員追加データのA列~G列のデータを結合します。'結合したデータをシート「Work」A列に転記します。'A列全てに対してD列の追記対象データを1件ずつ照合する。'データが無ければ追記対象データをA列の最終行記します。'A列の追記行に+1を加算する。※プログラム実行後、シート「社員データ」A列~G列のデータとシート「社員追加データ」A列~G列の「追記対象」と比較してシート「社員データ」に無いシート「社員追加データ」が追記されました。(画面クリックして拡大)最後まで、ご覧いただきまして誠に有難うございました。VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。複数条件に一致するデータのセル数をカウントする。EXCELの印刷・組み込みダイアログを表示して詳細設定して印刷する。指定した行列に小計を追加する。指定した表を自動的に背景色をゼブラ模様(縞模様)にする。Functionプロシージャを使いこなす。便利なVBAコード・サンプルプログラム一覧・覚えると便利・効率が上がる。エラーかどうがを判定します。