EXCEL VBA 別のブックからデータをコピーする(ブック間のシートコピー)(テクニック)

 

EXCEL VBA 別のブックからデータをコピーする(ブック間のシートコピー)(テクニック)

 

 ●はじめに
EXCELブックで別々にデータを管理している時に、個々に同じデータをブックに持つよりも、マスターデータのブックとして、必要に応じてデータを参照または、データをコピーする方が、データが管理しやすくなります。ここで説明するのは、別のブックからデータをコピーする2通りの説明をいたします。それでは、順番に説明いたします。

 

 

EXCEL VBA 他のブックからデータを取得する。(指定したファイル)

 

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

下記のサンプルプログラムは、他のブックから必要なデータを取得し選択したデータを習得するサンプルプログラムです。今回、説明するサンプルは、下記、図の通りに、メインブックからマスターブックにアクセスを行い、マスターブックからメインブックに必要なデータを取得(コピー)を行うサンプルプログラムです。複数のプログラムで共通データを取り扱う時に、便利だと思います。


下記のサンプルプログラムを実行する際は、下記の通りにブック名(ファイル名)・シート名を設定して下さい。
※ ファイル名「main」シート名「項目」
※ ファイル名「Master」シート名「項目M」
※ 「Master.xlsx」の保存先は、C:\DATAへ保存する。

 

 

 

 

 ●実行前~実行後  ※プログラム実行後、ブック名「Master」からデータを取得して、ブック名「main」へデータを取得する事ができました。

 

 

 

他のブックからデータを取得する・複数シートからデータ取得(ファイルを選択する)

 

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

下記のサンプルプログラムは、上記のサンプルプログラム①の応用になります。今回のサンプルプログラムは、他のブックから取得する場合に、ダイアログボックスにより、ファイルが自由に選択する事が出来ます。複数のマスターブックからデータを取得する場合に利用できます。それでは、順番に説明いたします。

下記のサンプルプログラムを実行する際は、下記の通りにブック名(ファイル名)・シート名を設定して下さい。
※ ファイル名「main」シート名「項目」・「顧客データ」
※ ファイル名:「MasterXX」シート名「項目M」 ・「顧客データ」
ファイル名については、上記のファイル名では無くでも動作しますが、シート名は指定です。

 

 

 

 

 ●実行前~実行後 ※プログラム実行後、ダイアログボックスが表示されて、ファイル(マスター)を選択します。選択したファイルから、シート「項目」・「顧客データ」を取得しました。

 

 

 

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