ブックを保存しExcelを終了するには、Quitメソッド実行前にブックのSaveメソッドを実行します。

保存先フォルダに同名ブックが存在する場合は確認メッセージが表示されます。


ブックを保存しExcelを終了するマクロを実行する

VBA入力画面
マクロ入力画面

入力したコードです。

Sub 保存しExcel終了()
    Dim wk As Workbook

    For Each wk In Application.Workbooks
        wk.Save
    Next
    
    Application.Quit
End Sub

プログラムの説明


Subプロシージャの宣言
Sub 保存しExcel終了()
ワークブックオブジェクトの変数を宣言
Dim wk As Workbook
ブックの数だけループする (For Each Nextの使用方法
For Each wk In Application.Workbooks
Saveメソッドを実行しブックを保存する
wk.Save
For Eachの終了
Next
Quitメソッドの実行
Application.Quit
プロシージャの終了
End Sub

ブックを保存しExcelを終了するマクロの実行画面

Book1はA1に”1”と入力済みで未登録です。
Excel-macro41は未変更です。
未保存のブック

マクロ「保存しExcel終了」を実行します。
保存しExcel終了マクロ

もし保存先フォルダに同名ブックが存在しない場合はファイル保存されExcelは終了します。
存在する場合は「この場所に’ブック名’という名前のファイルが既にあります。置き換えますか?」とメッセージが表示されます。
「はい」をクリックするとファイル保存されExcelは終了します。
「いいえ」か「キャンセル」をクリックするとエラーになります。
置き換えますかのメッセージ

「いいえ」か「キャンセル」をクリックすると表示されるエラーメッセージです。
「実行時エラー’1004’ ’Save’メソッドは失敗しました:'_Workbook’オブジェクト
このエラーを表示させない場合は、On Error等のエラー処理が必要です。
Saveエラー

Excelマクロのサンプルファイル:フリーダウンロード








Copyright (C) excel.usefulhp.com All rights reserved.