- ベストアンサー
エクセルを参照しただけでの保存の場合
8枚のシートを使用したファイルを作ったのですが、そのファイルを参照しただけでも、"変更を保存しますか"と出てきます。普通は出ないものだと思ってますがいかがでしょうか?マクロは使ってません。関数も使ってません。初心者用の式ばかりだと思います。どうしても気になるものですから色々式等を確認しましたが直りません。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
もう解決しておられるようですが、つけたししておきます。 >"変更を保存しますか" 参照して値を出しているもの関数(揮発性関数と呼ばれています)は、みな、このような反応を示します。それらの関数は、データの情報としてはExcelのメモリ内に格納されますが、 アプリケーションを終了すると、それも消えてしまいます。 内容的には古いのですが、現在も同じです。 http://support.microsoft.com/default.aspx?scid=kb;ja;402644 変更していないブックを閉じる際保存するか尋ねられる場合 つまり、ワークシート上の関数には二種類あって、Excel上の値を取得して変化しないものと、その都度、Excelのセル番地自体を取得するものや、外部データからシステムから値を取得するものがあります。 AREAS CELL COLUMNS INDEX INDIRECT NOW OFFSET ROWS RAND TODAY というように、マイクロソフトのサイトには書かれていますが、特にNOW と TODAY とRAND は、システムから情報を取り寄せます。 もしも、どうしても、メッセージを出したくなければ、終了時に自動的に変化したことを無視するコードを置いておく必要があります。 '<ThisWorkbook モジュール> Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.Saved = True End Sub 'ただし、うっかり忘れると保存もし忘れます。 'その場合は、その代わりに ThisWorkbook.Save とします。
その他の回答 (1)
>関数も使ってません。 ですか。日付関数でも使ってないですか。 例えばTODAY() なんかも使ってないかな?
お礼
TODAY()を使っていた箇所が一箇所ありました。よく調べもせず補足を入れてしまいました。ごめんなさい。そこを削除しましたらおもっていた通り閉じることが出来ます。本当に助かりました。ありがとうございました。
補足
はい。日付関数なども使ってません。
補足
先程の問題でもう一つ教えていただきたいのです。 "保存しますか"とダイアログが出なくなってホッとしたのですが、実は手動計算になっていたのです。これを自動計算に変更したら又、症状が出てしまいました。 多分古いバージョンのシートをコピーして使っていることも影響しているのでしょうか?その場合はどのようにしたら良いのでしょうか?よろしくお願いします。