Excelの「リンクの自動更新が無効にされました」と「データの入力規則」

作ったExcelファイルを開いたら警告が出てきたんですけどどうしたらいいですか?とヘルプ。
Excelはそんなに詳しくない(Webの制作業務ではそんな使わなかったするので、Webの人はパソコンのことならなんでも知っているなんてことはとてもない)ので、調べてみた。

表示された警告は、

セキュリティの警告
リンクの自動更新が無効にされました

「コンテンツの有効化」のボタンもありますとのこと。
マクロが書き込まれたファイルを開いたときみたいなイメージかな?雰囲気的には何か別ファイルを参照していてそのファイルが見つからない、といったような警告に見える。

試しに何か別ファイルを参照していたり、リンクの貼り付けをしているか聞いてみると、別段そういうことはしていないとのこと。
元のひな形になるファイルがあって、そこからコピペしたりして作ったらしい。

リンクの編集で確認

結論からいうと原因は「データの入力規則」だった。
ざっと見た限り、怪しそうな箇所1番人気は「データの入力規則」でリストが設定されたドロップダウンで選択できる箇所。
その前にまずは参照ファイルが見つからないからだという推論を確定させる。

そもそもどこでどうやって別ファイルを参照しているのか、作成者でもないのによくわからないのでその調べ方から探すことになったが、「データ」タブの中の「クエリと接続」に「リンクの編集」というのがあったのでのぞいてみると、あっさり別ファイルへのリンクがあることが分かった。
これで、この問題のファイルでは、どこかで別ファイルを参照していて、そのファイルが何らかの原因で(ファイルが移動していてパスが変わって見つからないとか)参照できないために出てきた警告だということはわかった。
それじゃ解決方法は2つ。

  1. 参照しているリンクファイルを参照できるようにする
  2. リンクを解除する

作成者本人が、今回別段他のファイルを参照したりしていないとのことだから、リンクを参照しているのは本人の意図ではないだろうから、リンクを削除してしまって構わないだろう。
「リンクの編集」をクリックすると、右側のボタンの中に「リンクの解除」というのがあったのでクリックしてみた。が、どうもリンクは解除されていないみたい。「リンクの編集」にやっぱり表示されてしまう。
さて、どうやって見つけ出したものか?

データの入力規則が指定されているセルを検索する

仕方がないので、当初のあたりに従って「データの入力規則」でリストが設定されたセルを虱潰しに確認する。
該当箇所は、利用者がわかりやすいようにと網掛けしてくれているのでやりやすい。
1シートに複数個所(7~8くらい)、それが何シートか。はっきりいって面倒だが仕方がない、一つずつ確認していった。網掛けしてくれているのだからそこまでではないだろうと思ったのがそもそもの間違い。

しかし残念ながらこれでは発見できなかった。
そうすると、そもそも「データの入力規則」は関係なかったのか、それとも網掛け以外(作成者の意図していない場所!)に「データの入力規則」が設定されているのか。
後者だった場合、一つずつ探さなければならないとすると結構絶望的な気分になる。
第一「データの入力規則」なセルを一発で検索できないものか?
ということで「検索と選択」をのぞいてみる。

あった。。。なんてことでしょう、初めに気が付くべきだった。。。
「検索と選択」の中の「条件を検索してジャンプ」でもいいが、今回はもっと簡単に「検索と選択」の中の「データの入力規則」を選ぶ。(そのもの)
とても時間の無駄だった。

そうしたらあったよ、網掛けされた以外の場所で、「データの入力規則」でリストが設定されており、その参照する先が別ファイルになっているやつが。
原因箇所が特定できたので、該当箇所のみの最小限の状態にして「データの入力規則」を「すべての値」にして保存。
これで無事警告が出なくなったのを確認して作成者に修正方法を伝えて完了。

なぜこんなことになったのか

なんでこんなことが起こったのか?
おそらくそもそもの原因はひな形ファイルからのコピペにあると思われる。

利用したい「データの入力規則」がリストになっているセルをコピーして(Crtl+C)、別ファイルにペーストする(Ctrl+V)。
このときにリストのデータが直接指定されている場合は、そのまま問題なく動作しそうだが、別ファイルのセルや別シートのセルを範囲として参照していた場合には、その範囲をそのままペーストしてしまう。

これが今回の問題のそもそも原因となったと思われる。
別ファイルの別シートを参照範囲に設定したものを、そのままコピペしてしまい、さらにファイルの保存場所の位置関係が変わってしまったことでリンクの参照が切れた、ということらしい。
ついでにいえば、自分で「データの入力規則」を設定したと思った箇所に作成者が網掛けをしたことによって、逆に問題箇所が盲点になってしまったわけだ。

教訓としては、別ファイからコピーする時はきをつけようということに鳴ってしまうのだけれど、そもそもExcelのコピーがそういうものだと気づいていなければ何度でも起こりそうな気がする。
ちょっと遠回りして時間をロスしてしまったけれど、今回はちょっとお勉強になった。

参考サイト