"BOKU"のITな日常

BOKUが勉強したり、考えたことを頭の整理を兼ねてまとめてます。

ブックに他のデータソースへのリンクが含まれているエラーに対処する/EXCELの小ネタ

f:id:arakan_no_boku:20190307220715j:plain

メール添付されたEXCELブックでありがちな、「このブックには他のデータソースへのリンクが含まれています」メッセージへの対処方法です。 

目次

他のデータソースへのリンクが含まれてますダイアログ

他人の作ったEXCELの資料を引き継いで作業するとき、こんなダイアログが表示されてイラつくことがままあります。

f:id:arakan_no_boku:20190307221654j:plain

EXCELに「一括外部参照削除機能」がないかと毎回思うのですが、ありません。

自分で探して、地道に外部参照を消していくことになります。

外部参照の残り方は、XLSXファイル(マクロ無し)なら、だいたい以下の2通り。

  • セルに"=C:\XXX\XXXX.xlsx・・・"みたいな外部ファイルを参照する数式がある。
  • 名前の定義のなかに、外部ファイルを参照するリンクがある。

XLSM(マクロ付き)なら、それに以下がプラスです。

  • フォームのボタン等で外部ファイルのマクロを参照している

でも、最後のケースは結構レアです。

そもそもマクロ付きのファイルをメール添付で送るとかはありえません。

なので、今回は、前者の2つだけ対処方法を書いておきます。

外部ファイルを参照する数式がある場合の対処方法 

2通りのやり方が知られてます。

ひとつは。

データタブの「リンクの編集」を使う方法。

f:id:arakan_no_boku:20190307221843j:plain

外部参照しているリンクの「リンクの解除」をしてやれば良いです。。

support.office.com 

もうひとつは。

検索と選択を使います。

f:id:arakan_no_boku:20190307222034j:plain

検索ダイアログでオプションを開きます。

f:id:arakan_no_boku:20190307222058j:plain

ここで、「.xl」をキーワードにして、ブック全体の数式を検索して、見つかったものを、コピー→値のみ貼り付けで数式だけクリアするわけです。 

f:id:arakan_no_boku:20190307222122j:plain

support.office.com
こちらは、より直感的でわかりやすいですけど、この方法では見つけられない外部参照リンクもあるので、対応したけどメッセージが消えないということもあります。

結局、リンクの解除もやる羽目になる場合が多いです。

名前の定義のなかにリンクがある場合の対処法 

名前の定義のなかに、外部ファイルを参照するリンクがある場合も、上記の「リンクの解除」をやるとだいたい解消します。

それでもメッセージが残る場合に疑うのが「数式>名前の管理」です。

f:id:arakan_no_boku:20190307222511j:plain

名前の参照先としてリンクが残っていたりするからです。

その場合必要なければ、名前ごと消せばいいですし、まずければリンクを修正します。

f:id:arakan_no_boku:20190307222559j:plain

知ってれば、簡単そのものです。

データソースへのリンクの消し方は以上です。

自分が名前の管理は最低限がいいと思う理由 

蛇足ですが・・。

名前の管理は、名前定義が「壊れている上に非表示の名前」になったときに、とてもやっかいだということを意識して使うほうがいいです。

こうなってしまったEXCEL資料を引き継いだりしたら、名前に関するエラーメッセージを延々とOKボタンを押し続ける羽目になったりします。

EXCELの通常機能では対処できませんので、手作業でできる範囲を超えると、VBAで無理やりアクティブにしてから消すみたいな本末転倒なことをしないといけなかったり、相当、神経を逆なでされます。

dev.classmethod.jp

名前の定義は最低限がいいと思います。

ではでは。

#EXCEL