【EXCEL:VBA】他のEXCELファイルのデータを取り込みたい

他のEXCELファイルのデータを取り込みたい

この記事では、VBAを使って他のEXCELファイルのデータを読み込み、自EXCELのシートに貼り付ける機能の作り方を説明します。

 

読み込みするEXCELファイルのシートを指定可能、貼り付け先のEXCELファイルのシートも指定可能となっています。

 

このVBAはいろいろな便利な機能を作るときに、利用できますのでぜひご覧ください。

 

困っている女性

他のEXCELファイルのデータを簡単に取り込む方法を知りたいな・・・。
VBAで他のEXCELファイルのデータを取り込む自作関数を作ればいいよ。

解決する男性

困っている女性

本当?それって簡単?
簡単だよ。いますぐ使える!!

解決する男性

困っている女性

それじゃあ、早く教えてよ。

 

◆似たような作業で、指定されたフォルダに存在するすべてのCSVファイルを一気に取り込みする方法については、以下の記事を参照してください。

フォルダに存在するCSVファイルを全て取り込みたい 【EXCEL:VBA】フォルダに存在するCSVファイルを全て取り込みたい

 

◆似たような作業で、単純に1つのCSVファイルを取り込みする方法については、以下の記事を参照してください。

CSVファイルを取込したい 【EXCEL:VBA】CSVファイルを取り込みたい

 

それでは、他のEXCELファイルを取り込む機能の作り方を順番に説明していきます。

1.取り込まれるEXCELファイル(xlsx)を準備する

なにはともあれ、取り込まれるEXCELファイルを準備します。

取り込み対象のEXCELファイル

取り込み対象のEXCELファイル

適当なファイル名でEXCELを作成し、「Sheet1」にデータを入力しておきます。

 

2.取り込み機能を実装するEXCELファイル(xlsm)を準備する

VBAを記述しますので、xlsm形式でEXCELファイルを作成します。

取り込むEXCELファイルを指定するセルを用意する

取り込むEXCELファイルを指定するセルを用意する

「Sheet1」に以下を指定するセルを用意します。

  • 取り込むEXCELファイルのパス(セルB1)
  • 取り込むEXCELファイルのデータが存在するシートNO(セルB2)
  • 取り込んだデータを出力するシートNO(セルB3)
  • 取り込んだデータを出力を開始するセル(セルB4)

 

3.EXCEL取り込み機能をVBAで作成する

「取り込むEXCELファイルのパス」と「取り込むEXCELファイルのデータが存在するシートNO」を引数に持つEXCEL関数を作成します。

EXCELデータ取り込み関数

EXCELデータ取り込み関数

上記の関数は、EXCELファイルから取り込んだデータを配列に格納して返します。

 

次に、先程のEXCELデータ取り込み関数を利用する関数を作成します。

EXCELデータ取り込み関数を利用する関数

EXCELデータ取り込み関数を利用する関数

この関数は、「Sheet1」に指定されている以下を読み込み、利用します。

  • 取り込むEXCELファイルのパス(セルB1)
  • 取り込むEXCELファイルのデータが存在するシートNO(セルB2)
  • 取り込んだデータを出力するシートNO(セルB3)
  • 取り込んだデータを出力を開始するセル(セルB4)

 

4.作成したVBAプログラムを動かす

「開発」タブの「マクロ」をクリックします。

マクロから自作関数を呼び出す

マクロから自作VBAプログラムを呼び出す

 

先ほど作成したVBAプログラムを選択し、「実行」をクリックします。

自作した関数を実行する

自作した関数を実行する

 

作成したVBAプログラムが動き、指定したEXCELファイルからデータを取り込み、指定したシートにデータが出力されました。

他のEXCELファイルのデータが読み込まれた

他のEXCELファイルのデータが読み込まれた

取り込みEXCELファイルのデータを変更して、試してみてください。

以上です。

 

 

最後まで読んでいただきありがとうございました。
この記事をシェアしていただけると喜びます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です