• ベストアンサー

エクセル:ファイルを開いただけでどこか変更されてしまう

マクロを色々書き込んだエクセルファイルがあります。 このファイルを開き、何もせずに「×」を押して閉じようとしたのですが、 「****への変更を保存しますか?」と表示されてしまいます。 起動した瞬間に何か変更されているようなのですが、 そのような状態になるマクロの書き方というか、 原因に心当たりがありましたら、教えて頂きたいです。 常に保存を確認するような設定でもあるのでしょうか? シートに書き込んでいるマクロは全て、 Private Sub Worksheet_Change(ByVal Target As Range)  AAA Target  'Targetを持ってAAAプロシージャへ飛ぶ End Sub のように書いており、 セルに何か書き込んだ場合に別プロシージャへ飛ぶ機能しかありません。 標準モジュールは10個くらい作成してあり、 これらも、セルに何か書き込んだ際に飛んで来る先として用意しているので、 ファイルを開いた時に何かするようには思えません。 ThisWorkBookには何も書いていません。 ほぼノーヒントみたいなものですが、 何かわかる方いましたらよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

マクロなどなくても、 たとえばあるセルに =today() とあっただけでも同様のことになります。 参考になりますでしょうか?

tktk1228
質問者

お礼

回答ありがとうございます。 まさにソレでした。 人様の作成したシートを流用していたのですが、 =YEAR(NOW())&"/"&MONTH(NOW())&"/"&DAY(NOW()) と書かれていました。 元々のファイルは「保存しますか?」が出なかったのですが、 これは、変更があってもそのメッセージを出さない、というマクロを組んでいたようです。 ありがとうございました。

その他の回答 (3)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

確認1 TODAY関数,NOW関数,RAND関数などを使っている。 確認2 標準モジュールのAuto_Openサブルーチンでシートやセルの移動を行なっている。 確認3 手動でシートを移動している。

tktk1228
質問者

お礼

回答ありがとうございます。 日付を取得する関数を使っていたためでした。 マクロでもAuto_Openなる自動的に何かするような記述ができるんですね。

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.3

エクセルのブックは「開いた瞬間」に、開いたパソコンに繋がってる「通常使うプリンタ」の設定を元に「自動改ページ」が自動挿入されるので「起動して開いた瞬間にブックは変更済み」になります。 また「現在のカーソル位置」も記憶する為「上書き保存して変更済みの状態から保存済みの状態になっても、カーソルを隣のセルに動かしただけ」で「変更済み」になります。 なので「何も入力してない、まっさらのブック」であっても「×」で閉じると、必ず「変更を保存するか?」と聞かれます。これを回避する方法はありません。

tktk1228
質問者

お礼

回答ありがとうございます。 どうやらマクロで「保存しますか?」を表示させないことが可能みたいなので、 (具体的なコードはわかりませんが、日付取得関数を使いながら保存の確認メッセージが出ないファイルがあるので) それを探してみようと思います。 これは「常に出さない」なので、それはそれで不便でもありますが…。

回答No.2

マクロを使用しても変更を確認するような事はないのですが、 マクロ以外に関数を使っていませんか? Excelの関数の中には、ブックを開くと同時に自分自身を再計算するものがあります。 NOW関数で例を挙げると、 NOW関数は常に現在の日付と時刻を返す関数ですが、 ワークシート上にNOW関数を記述しておくと、 そのブックを開くと同時に関数の結果が更新されます。 関数を入力したセルの内容が変化するので、 ワークシートを編集したのと同じ結果になります。 そして、ブックを閉じるときに「変更を保存しますか?」 と確認されることになります。 ブックを開くと同時に再計算が行われる関数は、 NOW関数のほかにINDEX関数、AREAS関数、CELL関数、COLUMNS関数、 INDIRECT関数、OFFSET関数、ROWS関数、RAND関数、TODAY関数などがあります。 ブックの中でこられらの関数を使っていると、 自動的に再計算が行われ、「変更を保存しますか」と聞いてくることになります。 また、関数だけでなく、ワークシート上にリンクされた画像が含まれていると、 やはり自動的に再計算がされることもあります。 この場合も同様に、開いただけで「保存しますか?」と聞いてきます。

tktk1228
質問者

お礼

回答ありがとうございます。 あるセルに、今日の日付を表示するような関数を使っていました。 これは消したくないので、 諦めるかメッセージを表示しないマクロを使うかしようと思います。 他にも色々と詳しくありがとうございました。

関連するQ&A