EXCEL VBA データベース作成・データ整理術: 無秩序な情報を自動で整理・転記する方法(テクニック)

 

EXCEL VBA データベース作成・データ整理術: 無秩序な情報を自動で整理・転記する方法(テクニック)

 

 ●はじめに

今回説明するのは、バラバラに作成してあるデータを統一されたデータベースに自動変換するプログラムです。具体的には、エクセルのワークシートにあるデータ(名前、住所、電話番号、メールアドレス)を整理し、別のワークシートに適切な列に整形して転記するプロセスを実行します。このコードは、データの最終行と最終列を検索し、ループを使用して各セルのデータをチェックし、適切な列(名前、住所、電話番号、メールアドレス)にデータを転記します。最後に、転記した別のワークシートの列幅を自動調整します。

 

【データベースの必要性として】
情報を効率的に管理・検索・利用するために不可欠です。データベース化して使用することで、大量の情報を簡単に整理・保存し、迅速にアクセスできます。また、データの整合性や一貫性が保たれることで、エラーや重複の削減にもつながります。

 

【データを統一するメリット】
まず、データの整理が容易になり、分析やレポート作成が効率化されます。さらに、統一されたデータを用いることで、異なる部門やチーム間での情報共有がスムーズになり、他部署とのコラボレーションが向上します。また、データ品質が向上することで、ビジネス上の意思決定や戦略立案において、より正確かつ信頼性の高いデータに基づいた判断が可能になります。データ統一は、組織全体の業務効率と競争力の向上に寄与する重要な要素です。

 

●【EXCEL VBA エクセルデータの標準化・データの統一・データの整理については、下記を参照して下さい】

EXCEL VBA エクセルデータの標準化・データの統一・データの整備(テクニック)

 

 

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

下記のサンプルプログラムは、ワークシートに存在するデータから名前、住所、電話番号、メールアドレスを抽出し、別のワークシートにデータベースの形式で整理・保存する処理を行うサンプルプログラムです。バラバラなデータを統一データとして整理する時に便利だと思います。

下記のサンプルプログラムを利用する事で日常業務にて下記の業務に有効利用できると思われます。

  1. 顧客情報の整理・管理
  2. 社内連絡先のデータベース作成
  3. 会員情報の一覧表作成

【プログラムの流れ】

  1. wsSourceとwsDestワークシートの設定
  2. wsDestワークシートの列ヘッダー設定
  3. ソースワークシートの最終行と最終列の取得
  4. データの転記 a. 名前の登録 b. 住所の登録 c. 電話番号の登録 d. メールアドレスの登録
  5. 保存先ワークシートの列幅自動調整

【プログラム実行条件・注意事項】

  1. ソースデータのワークシート名を正確に指定する必要があります。
  2. データが正確に分類されるためには、データの形式が一貫していることが前提です。
  3. 一部のデータが分類できない場合や誤分類される可能性があります。データの整合性を確認することが重要です。

★【サンプルプログラム】
下記のリンク先よりサンプルプログラムをダウンロードする事ができます。
● Create_database01(サンプルプログラム)

 

 

 

 

●実行前~実行後 ※「SouceData」ワークシートに散らばっていた名前、住所、電話番号、メールアドレスのデータが、「DataBase」ワークシートに整理され、項目別に移動しました。これで、オフィス業務に使えるデータベースができました。

 

EXCEL VBA データベース作成・データ整理術: 無秩序な情報を自動で整理・(判断条件を指定して整理)

 

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

下記のサンプルプログラムは、サンプルプログラム①の一部応用したものになります。3つのワークシートを使って、ソースデータから名前、住所(都道府県名・区市町村名)、電話番号、メールアドレスを判断して、それぞれのデータを整理し、データベース化「DataBase」ワークシートに転記する処理を行っています。新たに判断条件を登録してある「judgement」ワークシートを作成して、この内容に応じてデータベースを整理するように内容を追記しました。これにより、データベースの整理する条件内容の変更があってもワークシート「judgement」の内容を書き換えるだけで、簡単に変更する事ができます。


【データベースを整理する】
ワークシート「judgement」の説明について
①「名前」A列の検索条件として「@、ー、都、道、府、県、区、市、町、村」以外の文字列が名前と判断する。
②「住所(都道府県)」B列の検索条件として「都、道、府、県」が文字列に含まれるもの。
③「住所(区市町村)」C列の検索条件として「区、市、町、村」が文字列に含まれるもの。
④「電話番号」D列の検索条件として「ー」が文字列にふくまれるもの。
⑤「メールアドレス」E列の検索条件として「@」が文字列にふくまれるもの。

※注意点1として、A列の名前は指定文字がふくまれないものが名前と判断する。
※注意点2として、B列からE列については、指定文字が含まているが該当の項目とする。
※注意点3として、指定文字の文字列が複数の列に登録されていると判断に誤りが発生するので注意が必要

【プログラムの流れ】
① ワークシートを設定
② 列ヘッダーを設定
③ ソースデータの最終行と最終列を取得
④ データを転記(ワークシート「judgement」を元に判定)
⑤- a. 名前の登録
⑤- b. 都道府県名の登録
⑤ー c.区市町村名の登録
⑤- d. 電話番号の登録
⑤- e. メールアドレスの登録
⑥ 列幅の自動調整

【プログラム実行条件・注意事項】

1.ソースデータのワークシート名と判断条件のワークシート名が正しく設定されていることを確認してください。
2.判断条件が正確であることを確認してください。不正確な判断条件があると、正しくデータが転記されません。
3.コードはデータの形式に依存しているため、データ形式が変更されると、コードを修正する必要があります。


★【サンプルプログラム】
下記のリンク先よりサンプルプログラムをダウンロードする事ができます。
● Create_database02(サンプルプログラム)

 

 

 

 

 ●実行前~実行後 ※ プログラム実行後、「SouceData」ワークシート内のデータから名前、住所(都道府県、区市町村)、電話番号、メールアドレスが判断され、「DataBase」ワークシートにそれぞれのデータが整理されて転記されます。判断条件は「judgement」ワークシートに基づいています。最後に、「DataBase」ワークシートの列幅が自動調整されます。

 

 

 

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