- ベストアンサー
Excel2010のマクロについて教えてください。
今下記のマクロ Sub SHUURYOU() ActiveWorkbook.Save Application.Quit End Sub をabc.xlsmと言うシートに書き込みボタンに貼り付けました。 又他のBookにあるdef.xlsmと言うシートにも貼り付けました。 それぞれ単独で開き書き込みをしてマクロボタンを押せば保存して終了します。 しかしabc.xlsmとdef.xlsmが同時に開いていると一方のマクロを実行すると両方ともクローズしてしまいます。 このマクロを単独のシート(book)だけに有効にするにはどのようにマクロを書けばよいのでしょうか。 教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Application.Quit を使用されたということは、BOOKを閉じるだけでなく、エクセル自体も終了したいという趣旨と推察します。 ですから、開いているBOOKがひとつだけなら、現状のままでBOOKもエクセルも両方とも終了して問題なかったのが、二つ開いていると、エクセルを終了させるので二つとも閉じられてしまうわけです。 もし、開いているBOOKが一つだけの場合はBOOKもエクセルも両方とも終了させる。 複数のBOOKがひらいていれば、ボタンを押したBOOKだけを終了させる。(エクセルは終了しない) そのようなご希望でしたら Sub SHUURYO() ActiveWorkbook.Save If Workbooks.Count = 1 Then Application.DisplayAlerts = False Application.Quit Else ActiveWorkbook.Close (False) End If End Sub としてみてください。
その他の回答 (1)
- mitarashi
- ベストアンサー率59% (574/965)
書かれたコード通りの動作をしていると思いますが、 単純に次の様な事でよいのでしょうか? 外していたらすみません。 Sub SHUURYO() ActiveWorkbook.Save ActiveWorkbook.Close If Workbooks.Count = 0 Then Application.Quit End Sub
お礼
書き込み有難うございました。
お礼
教えていただき有難うございました。 おかげさまでできました。