プチIT化 PR

【Excel】別ファイルに参照しているデータを最新の状態にするには

記事内に商品プロモーションを含む場合があります。
当サイトは、アフィリエイト広告を利用しています。

こんにちは、わたあめです。今日は、Excelで別ファイルのセルのデータを参照している時、更新されない場合の対処についてまとめてみました。

Excelって自ファイルのシートのセルだけでなく、別ファイルのセルのデータも参照することができますよね。例えば、Book1のSheet1のA1のセルに、Book2のSheet1のA1の値をもってくるという事。Book1のSheet1のA1のセルの参照式は以下のようなものになります。

=[Book2.xlsx]Sheet1!A1

この時、Book2のSheet1のA1の値を更新したにも関わらず、Book1の値が変わらない時ってないですか?今日はそんなときどうすればいいか?をまとめていきます。それでは、いってみましょう!

手動で更新する

Excelのメニューから明示的に手動でデータの更新を行う方法です。手順は以下の通りです。

  1. [データ]タブ > [リンクの編集]をクリック
  2. 表示されたダイアログで[値の更新]ボタンをクリックします。
    リンクの編集からの値の更新

2つのファイルを同時に開いておく

参照するExcelファイルと参照されるExcelファイルを同時に開いておくと、自動的にリアルタイムに更新されます。そのことを意識して、2つのファイルを同時に開いておくという対処です。

冒頭の例でいくと、Book1もBook2のExcelファイルもどちらも開いておくということです。二つのファイルを開くのは面倒かもしれませんが、確実ではあります。

VBAマクロで更新する

あまり需要はないかもしれませんが、VBAマクロで更新したいということもあるかもしれません。そういう時は、Workbook.UpdateLinkメソッドを利用して更新します。

' すべてのリンクされている値を更新する
ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources

この一文だと、全ての参照しているデータが更新されますので、ご注意ください。(部分的な値の更新についてはもう少し細かくマクロを記載する必要があります。)

さいごに

いかがだったでしょうか!開いておけば自動的に更新になるのは分かっているものの、ちょっと面倒だったりしますよね。(個人的な感想)データ更新が上手くいかないぞ…という方のお役立ちになっていれば幸いです。それでは、また!