エクセルで別ファイルに自動的に反映させる方法!画像つきでわかりやすく解説!

この記事を執筆するにあたって

エクセルでデータを管理することは多いと思います。そんなとき、1つのファイルで別のファイルにデータを反映させたい…なんて思うこともあります。今回は、そのような方向けに、「エクセルで別ファイルを自動的に反映させる」方法についてご説明致します。

Written By 巫 夏希

目次

導入

 エクセルを使う時に複数のファイルに同じデータを入力する機会などありますでしょうか?

 たとえば仕事で【管理用】と書かれたファイルがあるとしましょう。同じように【印刷用】というファイルを作ったとして、膨大なデータから一部だけを抜き出したいとか、そういうこともあるかもしれません。

 今回は、エクセルで別ファイルを自動的に反映させる方法と、その注意点についてご説明したいと思います。

※記事内の写真は、筆者のPCでエクセルを使用し、キャプチャしたものに加工を加えたものとなります。

エクセルで別ファイルにデータを自動的に反映させる場合とはどんな時か

 エクセルで別ファイルにデータを自動的に反映させる場合とは、どういう場合を指すのでしょうか。

 たとえば、バックアップ。たとえば、確認用に保管しておく。たとえば、データの管理や評価をするために一部だけデータを抜き取りたいなど、様々な場合が考えられます。

エクセルで別ファイルにデータを自動的に反映させる手順:フォルダに複数のファイルを作ることが出来る場合

エクセルで別ファイルにデータを自動的に反映させる手順①

 一つのファイル(以下、元ファイルと言います)と、コピーするファイル(以下、コピー先ファイルと言います)を同一のフォルダに格納します。

 今回の場合、下記のような学生のテストの点数と平均点が格納された元ファイルを「名簿A.xlsx」、コピー先ファイルを「名簿B.xlsx」とします。

エクセル 名簿
 写真は、名簿A.xlsxのものです。

 このとき、名簿B.xlsxは空白(新規作成ファイル)であることがポイントになります。

エクセルで別ファイルにデータを自動的に反映させる手順②:元ファイルとコピー先ファイルを同時に開く

 ここで、名簿Bを開きます。

 名簿Aと名簿Bを見やすくするために、「整列」という動作を挟みます。

 表示タブの、ウインドウと呼ばれるグループ内に「整列」というボタンがありますので、そこを押下します。

エクセル 名簿②

 「左右に並べて表示」を選択して、「OK」と押下します。

エクセル 名簿③

 すると、下の図のように、名簿A.xlsxと名簿B.xlsxが並べて表示されるようになりました。

エクセル 名簿④

エクセルで別ファイルにデータを自動的に反映させる手順③:欲しいデータをコピーする

 今回は、名前と数学の点数だけを抽出出来るようにします。

 名前の列はA列、数学の点数はB列ですので、A列とB列を選択し、コピーします。

エクセルで別ファイルにデータを自動的に反映させる手順④:リンク貼り付けを行う

 ③でコピーしたデータを貼り付けるのですが、ここで注意点が一つあります。

 ただの貼り付けではなく、「リンク貼り付け」を選択します。(「形式を選択して貼り付け」の上にある図の一番右側です)

 成功すると、下の図のようになり、A1が下記のように表示されているはずです。

「=[名簿A.xlsx]Sheet1!A1」

エクセル 名簿⑤

この方法を利用した際の注意点

 この方法を利用した場合の注意点を簡単に説明致します。

 この方法を利用すると、名簿A.xlsxのデータを直接名簿B.xlsxが参照しに行っているということになるので、元ファイルのデータが書き替えられると、データが書き換わってしまいます。(自動的に参照ポイントが変わるので、これは仕方がありません)

 また、同一フォルダに格納しておかないと、リンクの参照がうまく行かなくなります。これも注意が必要です。

 今説明したのは、マクロを使わない場合でしたが、次にマクロを使った場合についてご説明します。

エクセルマクロを使っても自動的に別ファイルに反映させることができる

マクロとは? エクセルで「プログラミング」が出来る!

 まず、マクロについて簡単にご説明したいと思います。

 マクロとは、マイクロソフトのエクセルに標準装備されている、複数の手順を記憶して、自動的に実行させる機能のことを指します。

 今回の場合であれば「元ファイルからのデータをコピーする」ことが複数の手順で、それを記憶させて、たとえばボタン1つ押せばデータが勝手にコピーされるようなことを言います。

 次の項目から、簡単にマクロを使って自動的に別ファイルに反映させる手順について、説明していきたいと思います。

マクロを使って自動的に別ファイルに反映させる手順

マクロを使って自動的に別ファイルに反映させる手順①:マクロ参照ファイル(.xlsm)を作成する

 まず、マクロを使うことの出来るファイルを作成します。

 今まで作成していたファイルは、xlsxという拡張子(ファイルにつけられる、そのファイルを識別するもの。たとえばテキストファイルならtxtの拡張子がつきます)で作成していましたが、今回は、マクロを使うため、xlsmというファイルで作り直します。

 このファイルを「名簿A.xlsm」と呼び、以下「マクロファイル」と呼ぶことにします。

マクロを使って自動的に別ファイルに反映させる手順②

 それでは、実際にマクロを作ってみようと思います。

 「表示」タブ右端にあるマクロボタンを押下します。

 まだマクロが無いと思いますので、適当に名前をつけて「作成」ボタンを押下します。

エクセル 名簿⑥

 下の図のような画面が出てきたら、マクロの作成が完了です。さっそく打ち込んでみましょう。
エクセル 名簿⑦

 マクロは、今回の場合このように打ち込めば良いと思います。

Dim sh As Worksheet
Dim v As Variant
Application.ScreenUpdating = False
Worksheets.copy
For Each sh In Worksheets
v = sh.Range("A1:B11").Value
sh.Cells.ClearContents
sh.Range("A1:B11").Value = v
Next
Application.ScreenUpdating = True

(最初と最後の部分は省いてあります。)

 作成したら、忘れずに保存しておきましょう。

マクロを使って自動的に別ファイルに反映させる手順③

 あとは、マクロから「copy」を選択し、実行すれば、コピーされたファイルが自動的に作成されます。

エクセル 別 ファイル 反映

マクロを使ってエクセルで自動的にデータを別ファイルに反映させる場合の注意点

 今回説明した場合では、自動的にファイルを作成することは出来ますが、更新することは出来ません。ファイルを常に作り続けてしまうため、このマクロにさらに改良を加える必要があります。

 また、名前を自分で決められないため、その場合は、マクロに、書き出しファイルの名前を指定する実行命令を記載すれば問題無いと思います。

 また、自動的に反映させる方法ではなく、どちらかといえば、半自動的に「ボタン一つで」反映させるやり方なので、そこも注意が必要です。

まとめ

 いかがだったでしょうか。エクセルで別ファイルに自動的に反映させる方法として、マクロを使わない方法と使う方法があります。

 マクロを使わない方法は、セルを「リンク貼り付け」で貼り付けること。その場合は、元ファイルが更新された場合勝手に更新されてしまうことと、同一のフォルダに保管しておく必要があることが注意点としてあげられます。

 マクロを使う方法は、範囲を指定すればどの部分でも反映させることが出来ます。しかし、元ファイルが更新された場合は、再度ファイルを作り直す必要があることや、自動的に反映というよりかは半自動的に反映させるやり方であることに注意が必要です。

【編集部より】あなたの感想を教えてください

こちらの記事はいかがでしたか?もし同じ疑問を持っている知り合いがいた場合、あなたがこの記事を友人や家族に薦めたりシェアしたりする可能性は、どのくらいありますか? より良い記事を作るための参考とさせていただきますのでぜひご感想をお聞かせください。
薦めない薦める

この記事を書いた人

Written By
巫 夏希
フリーのライターをしております。読者目線でわかりやすい文章を書いていこうと思います。
2018年11月に参加させていただきました。 ライターとして家電・アプリなどの手助けをしながら、面白くわかりやすい記事を書いて行ければと思っております。 経歴としては2年ほど、日本神話に関連するサイトのライターと品質管理を担当。 現在はフリーのライターとして、ゲームのノベライズ、声劇台本の作成など幅広いジャンルで活動しております。

おすすめの記事

スポンサー

カテゴリ一覧