Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2013)
Excel フィイル保存
投稿日時: 18/04/30 04:35:26
投稿者: junya

いつも皆さまの情報を参考にさせて戴いております。
 
Excel 2013 を基本オプションとしてほぼ規定値の設定で利用しています。
 
編集ファイルの保存・終了作業において、(A) 上段 (左側) の「クイックアクセスツールバー」での「上書き保存」をクリックし、(X) 上段 (右側端) X 印をクリックすると、画面から Excel は消えて、終了します (現象1)。
 
しかし、(A) を実施せずに (X) を実施しますと、「'...' の変更内容を保存しますか? 保存/保存しない/キャンセル」というダイアログ/メッセージが表示され、それぞれの選択肢にしたがって、作業が進行します。すなわち、フォイルを保存・終了させるときには「保存」をクリックします (現象2)。
 
以上が、通常の手順と考えますが、(A) を実施しても (X) が表示されることが発生し (現象3)、終了作業が煩わしいです。この現象は、フィイルによって常に発生する場合と、しない場合があるようですが、どのような条件のときに発生するかが不明です。回避する方法をお教え下さると幸いです。
 
追記: (1) (現象3) において表示されるダイアログで「保存しない」を選択しても編集したファイル内容は保存されています。また、(2) 複数関数を使用していますが、NOW() などの日付/時刻関数は使用していません。(3) (A) 後に [Alt + F4] による Excel 終了では保存に関するダイアログが表示され、[Ctrl+W] ではフィイルは消えます (編集内容は保存されている) が、Excel の残骸 (枠) が残り、Excel を (X) によって終了させる必要が発生します。(4) この煩わしい表示・終了作業は、以前はなく、ここ数ヶ月来のことですが、ハード・ソフト面での大きな変更を加えておりません。

回答
投稿日時: 18/04/30 06:52:25
投稿者: Mike

junya さんの引用:
この現象は、フィイルによって常に発生する場合と、しない場合がある…
当該現象が発生するファイルは貴方自身が作成したものですか?

回答
投稿日時: 18/04/30 18:26:53
投稿者: WinArrow
投稿者のウェブサイトに移動

開いたブックを、どこも更新せずに[X](閉じる)をクリックすると
「上書き保存する?」
というメッセージが表示される場合、
 
(1)シートを切り替えた場合、カーソルを移動した場合。
 データ(中身)は更新してなくても、ブックとしては更新されています。
 
(2)揮発性関数を使用している
 揮発性関数は日付・時刻だけではありません。
 「揮発性関数」でネット検索してみてください。沢山ありますよ。
 

投稿日時: 18/04/30 20:41:08
投稿者: junya

Mike 様
 
はい、すべて (この現象が発生する、しない) のファイルとも、自分自身で空白のブックから作成したものです。

投稿日時: 18/04/30 21:09:09
投稿者: junya

WinArrow 様
 
ご助言を有り難うございました。
 
1. ファイル編集後に「クイックアクセスツールバー」での「上書き保存」をクリックし、(X) (閉じる) をクリックすると、「'...' の変更内容を保存しますか? 保存/保存しない/キャンセル」というダイアログ/メッセージが <表示される> ファイルでの例。
 
(a) 何も編集しない場合、(b) シートを切り替えた場合、(c) カーソルを移動した場合、のいずれとも、(X) (閉じる) をクリックすると、「'...' の変更内容を保存しますか? 保存/保存しない/キャンセル」というダイアログ/メッセージが表示されます。
 
注) 「上書き保存する?」というメッセージは表示されませんでした。
 
2. ファイル編集後に「クイックアクセスツールバー」での「上書き保存」をクリックし、(X) (閉じる) をクリックすると、「'...' の変更内容を保存しますか? 保存/保存しない/キャンセル」というダイアログ/メッセージが <表示されない> ファイルでの例。
 
(a) 何も編集しない場合、(b) シートを切り替えた場合、(c) カーソルを移動した場合、のいずれとも、(X) (閉じる) をクリックすると、何らの表示なしで Excel は終了します。
 
追記: 揮発性関数についてネット検索しましたが、使用している関数が該当する例を見つけることはできませんでした。

回答
投稿日時: 18/04/30 23:19:21
投稿者: WinArrow
投稿者のウェブサイトに移動

>注) 「上書き保存する?」というメッセージは表示されませんでした。
 
説明をてぬ三していました。
 
「上書き保存する?」
は、
>、「'...' の変更内容を保存しますか?
と同意語です。
 
揮発性関数
の中で、OFFSET関数・・・一見して該当しないと思われがちですが、使っていませんか?

回答
投稿日時: 18/04/30 23:28:59
投稿者: 半平太

WinArrow さん
 
自分自身でテストした上での話ですか?
 
私の経験では、
たとえ揮発性関数があったとしても、シートを切り替えただけでは再計算されることはないし、
カーソル移動をしたって、更新扱いになることはない。(普通はですけどね。)
 
junya さん
 
>この現象は、フィイルによって常に発生する場合と、しない場合があるようですが、
>どのような条件のときに発生するかが不明です。
 
実のところ、私も同じ経験をしていました。
「おかしいなぁ、さっき保存したばかりで何もやっていないじゃないか、
 シートの選択を変えただけでなんで「保存する?」なんて聞いて来るんだよー」って感じですね。
 
まぁ、大したことじゃないので今まで放っておいたのですが、
いい機会なので、自分の問題として、色々いじっていたら、
それらしい原因にぶち当たりました。
 
入力規則を設定しているシートに移ってからクローズしようとした時で、、
入力規則のドロップダウン(▼)が出ていると
単にシートに戻っただけなのにそうなりました。

回答
投稿日時: 18/05/01 07:17:05
投稿者: Mike

junya さんの引用:
自分自身で空白のブックから作成したものです。
では、最後に(?)、次の関数は何れも使っていませんか?
CELL
INDIRECT
NOW
OFFSET
RAND
RANDBETWEEN
TODAY

回答
投稿日時: 18/05/01 08:36:42
投稿者: んなっと

●Excelのバージョンの違いによる現象。
 
Excel2010で Book1.xlsx を作成します。Excelを終了します。
そのブックを同じExcel2010で開いて何もしないで閉じようとしても
何も表示されません。
しかしそのブックをExcel2016で開き、何もしないで閉じようとすると
こちらの環境では'Book1.xlsx' の変更を保存しますか? と表示されてしまいます。
オプション→数式→いったん手動にしてから「ブックの保存前に再計算を行う」のチェックを外して
自動に戻すなどの操作をしてもうまくいかないこともあります。
 
逆にExcel2016で Book2.xlsx を作成した場合、
そのブックをExcel2010で開いても問題はありません。
 
※Excel2003で作成した Book1.xlsブックをExcel2010で開いたときにも
'Book1.xls' の変更を保存しますか?以前のバージョンのExcelで保存した.... と表示されますが、
これは拡張子が古いxlsだから当然です。あきらめがつきます。
 
 
●揮発性関数(OFFSET,INDIRECT,RAND,RANDBETWEEN,CELL,INFO,TODAY,NOW)ではなくても、特殊な使い方で状況が変わることも。
 
1.SUMIF関数の引数のサイズが異なる
...揮発性になってしまうので、問題がある。
=SUMIF(A1:A5,">10",B1:B4)
 
2.INDEX関数を、INDEX( ):INDEX( )のような複雑な使い方をする
...揮発性ではないが、終了時にメッセージが出る。しかし特に問題はないので、使っていい。
=SUM(A1:INDEX(A:A,MATCH(10^9,A:A)))

投稿日時: 18/05/01 10:00:18
投稿者: junya

皆さま、いろいろとご助言を有り難うございます。
 
WinArrow 様
 OFFSET 関数を現状では使用しておりません。
 
半平太 様
 入力規則の設定が関係しているとのこと、適用しておりますので、重要な原因となっている可能性は大きく、検討してみます。
 
Mike 様
 例示されました、CELL, INDIRECT, NOW, OFFSET, RAND, RANDBETWEEN, TODAY を使用することもありますが、今回に対象となっているファイルでは適用しておりません。
 
んなっと 様
 Excel のバージョン違いによっても発生することはあったような記憶がありますが、当面の問題発生時ではすべて Excel 2013 です。
 
 揮発性関数以外で発生し得ることの情報を有り難うございました。SUMIF, INDEX, など複雑な使い方をしている個所が多々ありますので、今回のファイル保存で問題となっている現象の大きな原因の可能性が大きいです。
 
 SUMIF 関数などなしでは数値の取り扱いに支障を来しますので継続的に使用することになりましょう。しかし、どのような条件で発生するか、多少の時間をかけてテストしてみます。

回答
投稿日時: 18/05/01 10:06:37
投稿者: ゆーたん

情報(経験?)です。
質問は、
「直前に(2秒前とか)上書き保存したのに、閉じようとするとまた保存するかたずねられる」
というかんじがメインでしょうか?(^_^;)
Excel2010ですが、私もよく同じ現象を経験しています。
 
あるブックで、クイックアクセスツールバーの上書き保存アイコンをクリックした直後、
ポインタを右上のウィンドウを閉じる(×)に持っていってクリックして閉じようとすると、
保存しますか?と聞かれることがあります。
 
私の経験上の抽象的な表現ですが、あっさりしたブックでは私のEXCELでは起きない気がします。
事象が起きる場合、「起きても納得がいく」程度にはこってりしています。
 
●直接の揮発性関数ではなく、揮発性にならないよう気をつけているが、
それでも複雑な数式。(大量)
●自ブック間での図のリンク貼り付け(大量)
●100枚を超えるグラフ
●オートフィルタ
 
ほかにもあるかな?とりあえずこのあたりですが、何が原因かは私にはよくわかっていません。
ただ、私は「起きてもなんとなく納得がいく」のであんまり気にしないで使っています。
あっ、だから逆に言うと、私のEXCELでは納得がいかないようなあっさりしたブックでは、
この現象は起きていません。
あっさりしたブックでも現象は起きるんでしょうか?
 
回答になってなくてすみません。参考まで。(^_^;)

回答
投稿日時: 18/05/01 10:20:50
投稿者: WinArrow
投稿者のウェブサイトに移動

半平太 さんの引用:
WinArrow さん
 
自分自身でテストした上での話ですか?
 
私の経験では、
たとえ揮発性関数があったとしても、シートを切り替えただけでは再計算されることはないし、
カーソル移動をしたって、更新扱いになることはない。(普通はですけどね。)
 
junya さん
 
>この現象は、フィイルによって常に発生する場合と、しない場合があるようですが、
>どのような条件のときに発生するかが不明です。
 
実のところ、私も同じ経験をしていました。
「おかしいなぁ、さっき保存したばかりで何もやっていないじゃないか、
 シートの選択を変えただけでなんで「保存する?」なんて聞いて来るんだよー」って感じですね。
 
まぁ、大したことじゃないので今まで放っておいたのですが、
いい機会なので、自分の問題として、色々いじっていたら、
それらしい原因にぶち当たりました。
 
入力規則を設定しているシートに移ってからクローズしようとした時で、、
入力規則のドロップダウン(▼)が出ていると
単にシートに戻っただけなのにそうなりました。

 
正直、私も、シート切り替えただけ、カーソルを移動しただけなのに
「上書き保存〜〜?」のメッセージに出くわすことがあるので、
これも原因?と半信半疑でしたが、
入力規則が関係していたんですか?
 
情報ありがとうございました。
勉強になりました。
 

投稿日時: 18/05/01 20:59:11
投稿者: junya

皆さま、いろいろと本当に有り難うございます。
 
ゆーたん 様
 
重要な情報はたいへんに参考になりました。
 
直前として2秒前とかではなく、上書き保存した直後に、上書き保存をすると、保存を訊ねられる現象です。ファイル終了にあたり安全を優先し、意図的にファイル上書き保存をしてから、X (閉じる) をしております。
 
ご指摘にように、確かに、あっさりした (単純な) ブックでは上書き保存 -> X (閉じる) 後の保存選択は発生しないことが多く、多量の複雑な数式が多いとき (100 枚を超えるグラフを作図したり、図のリンク貼り付け、オートフィルタの経験はありません) に発生するとの感触は得ております。そこで何らかの関数が影響しているのであろうと推測し、関係する関数などが特定できれば回避することが可能かと考えて投稿しました次第です。
 
複雑な処理をした際には「起きてもなんとなく納得がいく」ので気にしないのも一つの対処方法ですね。考えてみれば、ファイル編集後にX (閉じる) をクリックしても、保存の選択があり、上書き保存を先にする手順でも2ステップで終了ですから、手順を替えれば済むことかもしれないです。
 
WinArrow 様
 
入力規則のドロップダウン(▼)が出ているかどうか、個々のフィイルにあたって検証しておりませんが、あるいは該当しているかなととも考えます。検討させて戴きます。情報を有り難うございます。

回答
投稿日時: 18/05/01 22:59:23
投稿者: WinArrow
投稿者のウェブサイトに移動

junya さんへ
 
「入力規則」の件は、私が見つけたわけではありません。
お礼は、私ではなく
「半平太さん」にお願いします。

投稿日時: 18/05/02 08:06:33
投稿者: junya

半平太 様
 
「入力規則」によって保存確認が発生する可能性があること追求され、有り難うございました。今後、該当例について注意してみてみます。
 
WinArrow 様
 
誤りのご指摘を有り難うございました。

回答
投稿日時: 18/05/02 10:21:51
投稿者: ゆーたん

まとめると、
>上書き保存した直後に、X (閉じる)と、保存を訊ねられる
 
>入力規則の設定が関係しているとのこと、適用しております
>多量の複雑な数式が多いときに発生するとの感触は得ております。
 
というかんじでしょうか。原因は入力規則か複雑な数式のどちらかっぽいでしょうか。
 
※「保存しますか」メッセージは出ますが、直前の上書き保存が不十分ということでもない気がします。
上書き保存した直後、閉じるを押したまさにその瞬間に、
 
1:「保存しますかメッセージを出す機構」にいま直前に保存したことがうまく届いておらず、
メッセージを出すフラグがオンのままになっている。
 
2:「保存しますかメッセージを出す機構」にいま直前に保存したことは届き、
一度フラグはオフになったが、閉じるボタンを押すまでの一瞬で再びオンになった。
 
のどっちかですよね?私は1:っぽい気がしますがなんとも。(^_^;)
 
※※少しネット検索もしてみましたが、「開く→作業せず→閉じる」と、
「上書き保存した直後に、X (閉じる)」ではまた違うので、
なかなかピッタリのは見つけられませんでした。うーん。(^_^;)

投稿日時: 18/05/03 04:45:18
投稿者: junya

ゆーたん 様
 
有益な取りまとめを有り難うごさいました。
 
a) 当方では入力規則をそれほど多用しておらず、複雑な数式があると発生することが多いと感じています。
 
b) 「メッセージを出すフラグがオン・オフ」の詳細を理解するに至りませんが、これまでの感触を検証し参考に下記します。
 
単純な数値の羅列で簡単な数式を含む 1.6 MB ほどのフィイルの場合に、上部左端で上書き保存した場合に、Excel 枠下端 (表示縮尺などが表示されている) の空白部分における「保存中: file 名1」の表示時間は約 0.5 秒ほどでした。ただし、この時間はファイルサイズによって異なるようであり、また、ファイルによって Excel 枠下端での表示がまったくされない場合がありました。なお、この場合には、X (閉じる) の表示はありません。
 
一方、複雑な数式を含む 0.3 MB ほどのフィイルの場合に、上部左端で上書き保存した場合に、Excel 枠下端における「保存中: file 名2」の表示時間は 0.1-0.2 秒ほどで上記の例に比べて明らかに短時間です。この場合には必ずX (閉じる) と、保存を訊ねられます。なお、「保存中: file 名2」の表示時間はファイルサイズによってほとんど変化がないと思われました (0.1 秒ほどの短時間ですので、確認は困難です)。
 
この Excel 枠下端における表示時間がフラグのオン・オフに関係しているのでしょうかと推測しますが . . .
 

回答
投稿日時: 18/05/03 11:40:48
投稿者: 半平太

>一方、複雑な数式を含む 0.3 MB ほどのフィイルの場合に、上部左端で上書き保存した場合に、・・
>この場合には必ずX (閉じる) と、保存を訊ねられます。
  
確実な再現性があるなら、こちらでもテストしてみたいのですが、
真っさらのブックにどんな複雑な数式をどう埋め込んだら再現できるか教えてください。
 
因みに、そちらのブックにマクロは一切入っていないですね?
(マクロがあると、事情が複雑になりますので、その可能性は排除したいです)

投稿日時: 18/05/05 09:13:31
投稿者: junya

半平太 様
 
いろいろとフォロー、複雑な数式へのお問い合わせを有り難うございます。
 
直近で取り扱った例について多少の検証をしました。
 
当該事例では、ファイルを開き何らの操作をしなくても (カーソル移動もなし)、上書き保存後、X (閉じる) をクリックしますと必ず保存しますかの表示があります。以下、この現象が発生する場合を重複確認と称し、単に「発生」と記します。また、フィイルを開いた後に、何らかの編集作業後、上書き保存後、X (閉じる) をクリックしますとそのまま (重複確認なし) で Excel が終了する場合を「発生なし」と表現します。
 
当該ファイルには、15 シートを含み、5シートほどで以下の式をそれぞれ 10 個ほどを含みます。このファイルにマクロは含みません。
 
  =COUNTIF(CL$7:CL$108,"<="&$CQ9)-COUNTIF(CL$7:CL$108,"<"&$CP9)    (式)
 
検証結果
 
1) この数式を含むシートを全削除 ==> 発生
 
2) セルの数式・書式設定において種々の取り扱いをしています。
 
2a) Excel のオプション -> バックグランドでエラーチェックを行う -> チェックなし -> ok ==> 発生
 
2b) ファイルを開いて、上記 2a の「エラーチェックを行う」に戻し、数式 -> エラーチェックでエラーが発生するシートを全削除 ==> 発生
 
3) 単純な数値・文字羅列によるシートのみの残骸 -> 発生なし
 
4) この残骸ファイルにおいて単純計算 (セル間の乗算) を追加 -> 発生なし
 
5) このファイルに、さらに上記 (式) を追加 -> 発生なし
 
結果的には何が原因かを特定することはできませんでした。また、上記の (式) を先には複雑と考えてそのように表現しましたが、複雑な例には該当しないことになり、訂正します。少なくとも、ファイル終了において重複確認が求められるような例には該当しませんことが判明しました (追加計算例が少なく適用数が関係したり、また、何らかの他の要因との関係があるかもしれませんが . . . )。今後、時間をみて、多少は複雑な式での例についても検討してみます。
 
なお、10,000 行以上におよぶシートを含み、単純な計算のみで成り立っているファイルにおいて、重複確認は発生していません。
 
ご検討において何らかのお役に立てれば幸いです。

回答
投稿日時: 18/05/05 16:00:14
投稿者: 半平太

ご質問を勘違いしていたかも知れません。
 
「発生」と「発生なし」の考え方が少し違っています。
 
1.ファイルを開き、何もしない(セルを選択もしない)でX (閉じる) をクリックすると
  「保存?」と聞かれる場合でも、それが不思議と言えるのは、
  揮発性関数を使っていない場合のみです。
 
本当に揮発性関数は使っていないですか?
 使っていなければ、「異常発生=タイプ1」です。
 使っていたら、  「当然発生」です。
 
何も聞かれなければ 単に「発生なし」です。
 
2.それまでシートに何かしたか否かに関係なく、上書き保存した後は
    何もしない(セルを選択もしない)でX (閉じる) をクリックすると
   「保存?」と聞かれるなら、「異常発生=タイプ2」です。
 
何も聞かれなければ、これも単に「発生なし」です。
 
こちらサイドで検討すべきと考えるのは「異常発生」の2つのタイプだけです。
 
junyaさんが問題視しているのは、上で挙げたどのタイプの「発生」なんですか?
それとも、それ以外の「発生」があるんですか?

投稿日時: 18/05/05 19:46:27
投稿者: junya

半平太 様
 
ご指摘・確認を有り難うございます。
 
1. 揮発性関数として、NOW、TODAY、INDIRECT、OFFSET、RAND、1RANDBETWEEN、CELL、INFO、INDEX を、他のファイルで使用したこともありますが、今回に当面し、先に検証に呈したファイルでは使用していません。
 
2. 先に記しましたように、今回の検証ファイルでは上書き保存した後には何もしない(セル選択もしない)で X (閉じる) をクリックすると、「保存?」と聞かれます。
 
したがって、今回、問題としているのは、ご提示されたタイプのうち、いずれかではなく、「異常発生=タイプ1」と「異常発生=タイプ2」との両者が発生していると理解しています。「それ以外の発生」には心当たりはありません。
 
ご理解を戴けましたでしょうか。

回答
投稿日時: 18/05/06 12:53:09
投稿者: 半平太

焦点が明確になったので、考え易くなったです。
 
ですが、「タイプ1」と「タイプ2」は分けて考える必要があると思います。
 
タイプ1:読込段階で、「エクセルが何か新しい処理を行った」ので発生した。
タイプ2:保存したのに、その直後に閉じるまでに
    「保存しなかったと認識される出来事がエクセルにあって」発生した。
 
いずれも、ユーザーにとって理解に苦しむ動作であることには変わりないですが。
 
ーーーー<タイプ1>ーーーーーーーーー
揮発性関数の存在が否定されましたが、ここが回答側としては
にわかに信じがたい事なので、まずここを詰める方向で考えたいです。
 
>当該ファイルには、15 シートを含み、
>5シートほどで以下の式をそれぞれ 10 個ほどを含みます。
 
15シート中、異常現象に関係なさそうなシートを全て削除し、
関係ありそうなシートも1枚あればいいので、余分なシートは削除して、
現象再現するシート1枚(中でもデータ量が一番少ないものが有難い)に絞れないでしょうか?
なんとかこちらで再現できる状況に持って行きたいです。
 
> =COUNTIF(CL$7:CL$108,"<="&$CQ9)-COUNTIF(CL$7:CL$108,"<"&$CP9) (式)
 
その数式が参照している CL$7:CL$108 と $CP9 は単なる値のセルと理解していいですね?
 
ーーーー<タイプ2>ーーーーーーーーーーー
これは、「にわかに」と云うより「絶対に」信じられない現象です(私は)。
 
VBAで言えば、「保存→閉じる」をやったら、「保存しますか?」と聞いてくるようなものです。
そんなことが起きたと言う事例を過去に聞いたことがないです。
プログラムが止まっちゃうので、困った人が何人もいて、何回も質問をしたハズです。
 
手始めに、マクロなら必ず「発生なし」になると言うテストをしてみたいです。
 
※1 当該ブックの拡張子は「xlsm」ですか? もし「xlsx」なら「名前を変えて保存」で、
  xlsmブックにしてください。今後の解明作業でマクロを使うことになりますので。
 
当該ブックのThisWorkbookモジュールに後記のマクロをコピペして
Z1セルに「1」を入力してから(※2)、
「クイックアクセスツールバー」で「上書き保存」をクリックしてみてください。
 
 1   →「保存完了しました。1秒後に自動的に閉じます。 」と出て、
 1-2-1 → OKボタンを押すと、1秒後に閉じられますか?
 1-2-2 → それとも、「保存しますか?」と聞いてきますか?
 
 2   →「保存は完了していません。何かがおかしい」と出ますか?
 
 3   →「保存自体が成功していないです」と出ますか?
 
(※2) Z1セルの「1」はこのマクロのスイッチなので、
   この動作を止めたい時はZ1セルの値をクリアしてください。
 
'ThisWorkbookモジュールに貼り付けるマクロ
’↓

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
    If Range("Z1").Value = 1 Then
        If Success = True Then
            If Me.Saved Then
                MsgBox "保存完了しました。1秒後に自動的に閉じます。"
                Application.Wait Now + ["0:0:01"*1]
                Me.Close
            Else
                MsgBox "保存は完了していません。何かがおかしい"
            End If
        Else
            MsgBox "保存自体が成功していないです"
        End If
    End If
End Sub

回答
投稿日時: 18/05/08 00:21:52
投稿者: 半平太

junya さん
 
私の所にも「タイプ2」が再現するファイルがありました。
なので、そちらサイドでの絞り込みは必要なくなりました。
 
お許しを m(__)m

回答
投稿日時: 18/05/08 11:54:35
投稿者: ゆーたん

私は「タイプ2」のファイル、みつからないなあ。
結構探していますが…。(T_T)
 
上書き保存後、シートタブをワンクリックしていいならタイプ2の再現は簡単で、そのシートに、
どこかに入力規則のリストを設定したセルをアクティブにしておいて「▼」を表示させたり、
図のリンク貼り付けをしておけば、
シートクリック時に(図の再計算?みたいなのが走るのかな?)Workbook.Saved プロパティは
FALSEになるかんじです。
 
ただ不確かな記憶ですが、フロッピー(懐かしのw)アイコンクリック後、まっすぐに右上の閉じる×に
ポインタを動かしてクリックしたのに、「保存しますか?」が出た気がするのです。
 
この記憶が確かだとしたら、Workbook.Saved プロパティは
(A)上書き保存時にうまくTRUEにならなかった、
(B)上書き保存時にうまくTRUEになったが、×をクリックするまでの間にFALSEに変わった、
のどちらなのかなあ?

回答
投稿日時: 18/05/08 13:42:22
投稿者: 半平太

昨夜は遅かったので、今日、例のマクロを仕込んでテストしてみました。
 
(因みに、私のブックは、マクロ、揮発性関数、入力規則がフンダンに入っています)
 
テストする前に当該ブックのコピーを幾つか作って、何回でもテスト出来る態勢にしました。
 
コピーしたブックの一つを選んで、シートを1枚ずつ削除しては保存ボタンをクリックしていった所、
3枚目までは、下記の「1-2-2」の展開となりました。
 

 1   →「保存完了しました。1秒後に自動的に閉じます。 」と出て、 
 1-2-1 → OKボタンを押すと、1秒後に閉じられますか? 
 1-2-2 →     それとも、「保存しますか?」と聞いてきますか?

 
「1-2-1」に変化したのは、4枚目のシートを削除して保存した時でした。
なので、そのシートが元凶と思われました。
 
ところが、再検証の為、別のコピーブックで追加テストをすると、
初めから「1-2-1」になり、「異常発生」はしません。
 
最初に発現したオリジナルのブックを使っても、「異常発生」は起こらなくなっています。
 
エクセルは、「ぼけ」が直ったら二度とヘマはしない、って感じです。
 
何が「ぼけ」を発症させたのか、何が「ぼけ」を治癒させたのか、今のところ不明です。
 
起きるハズがないと思っていたので、トラップの掛け方が甘かったです。
OKボタンを押した直後に「Me.Saved」がFalseに変わったかどうかチェックすべきでした。
 
また、BeforCloseのイベントプロシージャにも、「Me.Saved」をチェックさせれば、
1秒間でそれが変更されたのかも確かめられたのですけどねぇ・・後の祭りです。
 
現象自体は、いつかまた起きると確信できましたが、起きたとしても
原因究明するのは、逃げ水を追いかけるような感じで難しそうな雲行きです。

回答
投稿日時: 18/05/08 16:16:24
投稿者: ゆーたん

半平太さんへ
おつかれさまでした。検証ありがとうございました。(^_^;)
 
>最初に発現したオリジナルのブックを使っても、「異常発生」は起こらなくなっています。
>エクセルは、「ぼけ」が直ったら二度とヘマはしない、って感じです。
>何が「ぼけ」を発症させたのか、何が「ぼけ」を治癒させたのか、今のところ不明です。
なるほど。かんじがよくわかりました。
とするとなかなか狙って「タイプ2」を再現するのは難しそうですね。
 
>現象自体は、いつかまた起きると確信できましたが、起きたとしても
>原因究明するのは、逃げ水を追いかけるような感じで難しそうな雲行きです。
またわたしも「タイプ2」に出会うことがあったら、いろいろできることは検証してみようと思います。
スッキリしないですけど、私はそういうこともあるかなーと、そんなに気にしてもいないので(笑)
 
junyaさんへ
いろいろ勝手な書き込み、失礼しました。(^_^)

回答
投稿日時: 18/05/09 09:08:06
投稿者: 半平太

junya さん
 
閉じるのはもう少し待ってください。
 
私の環境限定ではありますが、再現手順(きっかけ?)は分かったような気がします。
 
シンプルなブックで再現環境が作れないか考えてみます。
 
因みに、Me.Closeメソッド直前までは、Me.SavedはTRUEでした。
BeforeCloseイベントでMe.Savedをチェックしたところ、FALSEに変化していました。
その間の時間は、人間にとっては一瞬です。

回答
投稿日時: 18/05/09 11:46:57
投稿者: 半平太

私のケースを新規ブックで再現する手順です(単純化したもの)。
 
1.マクロの参照設定で「Windows.MediaPlayer」を設定します。
 
2.Sheet1の上に、「コントロール」グループの「挿入」から
  ActiveXの「Windows Media Player」を貼り付けます。
 
3.ThisWorkbookモジュールに後述マクロをコピペします。
 
4.一旦、ブックを保存して、閉じます。
  拡張子は「.xlsm」で。
 
5.再オープンして、マクロ(TEST)を実行します。
 
すると「保存」コマンドを押して保存済にしたのに、
「閉じる(×)」をクリックすると、「保存するか」聞いてきます。
 

Sub TEST()
    Dim mdp As WindowsMediaPlayer
   
    Set mdp = Sheets("Sheet1").OLEObjects("WindowsMediaPlayer1").Object
    mdp.URL = ThisWorkbook.Path & "\無くてもいい.mp3"
    mdp.Close
    Set mdp = Nothing
End Sub

この情報で、どなたかが対策を見付けてくれるといいですね。
 
私は、手の打ちようがないなぁ、と言う状態です。

回答
投稿日時: 18/05/09 14:53:15
投稿者: ゆーたん

>私のケースを新規ブックで再現する手順です(単純化したもの)。
こちら2010ですが、私のブックでも異常発生タイプ2が再現しました。
 
>Me.Closeメソッド直前までは、Me.SavedはTRUEでした。
>BeforeCloseイベントでMe.Savedをチェックしたところ、FALSEに変化していました。
ここも同じかんじです。(私はマクロはあんまりできないので、あくまで見よう見まねですが。)
 
(C)上書き保存時にうまくTRUEになり、×をクリックするまでの間もTRUEだが、
×をクリックした瞬間にFALSEになった。
 
というかんじでしょうか。(^_^;)
 
半平太さんの最初のZ1スイッチのマクロで、
"保存完了しました。1秒後に自動的に閉じます。"
のあとに「保存しますか?」が出ました。
 
情報でした。

投稿日時: 18/05/11 10:36:34
投稿者: junya

半平太 様
 
ご丁寧な解析と検討とを有り難うございました。ゆーたん 様にもいろいろ貴重な情報を有り難うございます。
 
多少の検証をしていましたら、他の事象の発現もあり、整理仕切れないでまま時間が経過しました。
 
まず、ここでは半平太 様に 5/06 付けでご検証下さいました<タイプ1>に関しての結果です。上書き保存後に X (閉じる) 後に「保存しますか」が発生する場合を「発生」、しない場合を「発生なし」と下記します。
 
対象ファイルは先に例示しました、下記の式を含む「発生」ファイル (ファイル0) を対象としました。
 
 =COUNTIF(CL$7:CL$108,"<="&$CQ9)-COUNTIF(CL$7:CL$108,"<"&$CP9) (式)
 
注 1) CL$7:CL$108 と $CP9 は単なる数値のセルです。
注 2) 当該ファイルでは揮発性関数を使用しておりませんので、先には、この式が複雑な式に類する例であろうと考えて、「発生」現象に関係ありそうであると推測しました。
 
ご指示にしたがって、以下の結果を得ました。
 
1. ファイル0から、この式、1 個所 (10 行 x 2列) のみを含む1シートのみを残し、他のシートをすべて削除、保存しました。(ファイル1)
 
結果: ファイル1にダミーの書き込みをし、上書き保存後に X (閉じる) をクリックすると、「発生なし」でした。
 
その後ファイルを開きますとダミーの書き込みは保存されており、
 
◎ この式が「発生」現象に直接には関係していないと考えます。
 
2. ファイル0から、この式、4 個所を含む1シートのみを残し、他のシートをすべて削除、保存しました。(ファイル2)
 
結果 1: ファイル2を開き、カーソル移動もせずに、X (閉じる) をクリックすると、「発生」でした。
 
結果 2: ファイル2を開き、ダミーの書き込みをし、上書き保存後に X (閉じる) をクリックすると、「発生」でした。
 
3. ファイル2から、この式、1 個所 (10 行 x 2列) のみを含む部分以外を削除、保存しました。(ファイル3)
 
結果 1: ファイル3を開き、カーソル移動もせずに、X (閉じる) をクリックすると、「発生なし」でした。
 
結果 2: ファイル3を開き、ダミーの書き込みをし、上書き保存後に X (閉じる) をクリックすると、「発生なし」でした。
 
以上です。どこまで皆さまのお役に立ちましょうかと疑問ですが . . . .
 
なお、<タイプ2> の検証は、マクロをかなり以前に触ったもののこのところまったく遠ざかっており、また、下記のような基本的な問題を経験しており、これらを明らかにしてから (可能?)、にとりかかりたく、後日とさせて下さるようにお願いします。
 
課題: (1) 上記の式がなく、単純計算 (?) などが少ない時には「発生なし」でもそれが多数に (10,000 行以上 x 30 列以上など) になると「発生」することがあり、何らかの手順が関係しているのでしょうが、原因はさし当たり不明、(2) 上書き保存後に X (閉じる) をクリックすると、「1つ以上の式の参照に問題がありました」 -> 「数式 -> エラーチェック => シート全体のエラーチェックを終了しました (エラーなし) <セル参照に問題を発生させるような計算をしていなつもりでしたので当然?> の前後で「発生」、「発生なし」を経験しております。もう少し時間をかけて検証を進めてみたいと考えています。

回答
投稿日時: 18/05/11 14:55:39
投稿者: 半平太

引用:
2. ファイル0から、この式、4 個所を含む1シートのみを残し、
  他のシートをすべて削除、保存しました。(ファイル2)
結果 1: ファイル2を開き、カーソル移動もせずに、X (閉じる) をクリックすると、「発生」でした
結果 2: ファイル2を開き、ダミーの書き込みをし、上書き保存後に X (閉じる) をクリックすると、
   「発生」でした。

 
ファイル2がまだ残っていましたら、
こちらでタッチできる部分があるかどうか、以下の手順で確認したいです。
 
1.問題シート全体をコピーして(※)、新規ブックの新規シートに貼り付けると、
  同じ問題が発生するファイルが作れるかどうか。
 
  ※シートの左上端(行番後と列番号が交わる角隅)をクリックして、コピーする方法です。
   シートタブを右クリックして「移動またはコピー」を使う方法ではありません。
 
2.それでも発生したら
  先ずその使用範囲を知りたいので、
  「シート」タブを右クリックして、コードの表示を選択すると
  VBEが画面を出ますので、画面下部にあるイミディエイトウィンドウに
 
   ? activesheet.usedrange.address(0,0)
 
  を「頭のクエスチョンマークから全て」コピペして、
  Enterを押すと「アドレス」情報が表示されますので、それを教えて下さい。
 
  こんな表示が出るハズです。→ (例) B3:Z8
 
 その範囲がリーズナブルの広さ(狭さ?)であれば、まだこちらでも検討できる余地は残っています。

投稿日時: 18/05/12 04:49:50
投稿者: junya

半平太 様
 
ご親切な対応を有り難うございます。
 
ファイル2は残しており、ご指示1に従い検証しました結果、同じ問題 (注 1) が発生するファイルは作れませんでした (注 2)。
 
注 1) ファイル編集後に、上書き保存し、X (閉じる) をクリックすると、「'...' の変更内容を保存しますか? 保存/保存しない/キャンセル」と表示される現象。
 
注 2) ご指示1で問題が発生しませんでしたので、ご指示2を実行しておりません。
 
 
以下、検証経過です。
 
まず、問題シート (ファイル2) 全体をコピーして(※)、新規ブックの新規シートに貼り付けました。
 
なお、※はご指示の通りです。また、ファイルコピー前に、ファイル2を開き、カーソル移動もせずに、X (閉じる) をクリックすると、「発生する」ことを確認しております。
 
1. 名前を付けて保存 => X (閉じる) -> ファイルを開く => 何もせずにそのまま X (閉じる) => 発生なし
 
2. ファイルを開く => ダミーの書き込み、上書き保存 => X (閉じる) => 発生なし
 
3. そのファイルを再度開く => 表示「セキュリティの警告 リンクの自動更新が無効にされました [コンテンツの有効化] => 何もしないでそのまま X (閉じる) => 発生なし
 
4. ファイルを再々度開く => 「セキュリティの警告 . . .」 => [コンテンツの有効化] をクリック => そのまま X (閉じる) => 発生なし
 
5. ファイルを再々々度開く => 表示 [このブックには、安全ではない可能性のある外部ソースへのリンクが1つ以上含まれています。リンクを信頼できる場合、リンクを更新して最新データを取り込みます。信頼できない場合は、データをそのまま手元で処理してかまいません。[更新する (U)], [更新しない (N)], [ヘルプ (H)] 」と表示される。
 
5a-1) [更新する (U)] を選択 => 何もしないでそのまま X (閉じる) => 発生なし
 
5a-2) [更新する (U)] を選択 => ダミーの書き込み => 名前を付けて保存 => X (閉じる)=> 発生なし
 
5b-1) [更新しない (N)] を選択 => 何もしないでそのまま X (閉じる) => 発生なし
 
5b-2) [更新する (U)] を選択 => ダミーの書き込み => 名前を付けて保存 => X (閉じる)=> 発生なし
 
疑問: ファイル保存直後にはなかった、3-5 の表示が発生すること、それも開く度に異なる表示 (内容) であることを理解できませんでした。

回答
投稿日時: 18/05/12 14:11:11
投稿者: 半平太

>ファイル保存直後にはなかった、3-5 の表示が発生すること、
>それも開く度に異なる表示 (内容) であることを理解できませんでした。
 
不思議ですねぇ・・
 
数式の中に他ブックを参照するものは無いんですよね?
 
そうだとすると、私のレベルでは考えの及ばないところで問題が起きています。
 
お役に立てず申し訳ないです。 m(__)m

投稿日時: 18/05/12 19:38:06
投稿者: junya

半平太 様
 
本当に不思議です。
 
「数式の中に他ブックを参照するものは無い」です。
 
何らかの原因があって発生しているのでしょうが、当方には見当がつかない状態です。
 
いずれにしましても種々のご検討に対しまして感謝申し上げます。

投稿日時: 18/05/17 10:58:24
投稿者: junya

皆さま
 
「ファイル保存」に際して重複確認が発生することへの疑問に対して、皆さまから種々の検討結果・情報を寄せられ感謝しております。
 
しかし、追加のご助言もなくなり、具体的な原因究明には至らないで経過してきておりますので、ここで掲示板をいったん閉じたいと考えます。なお、同様のご経験をされている方が少なからずおられますようですので、何らかの情報がありましたら、スレッドを再度立てて戴けますと幸いです。
 
注: モーグ運営事務局によりますと、問題が解決していなくてもトピックを閉じる場合には、「解決済みにする」以外に方法がありませんとのことでした。