サイトについて      連絡先   検索

VBA ワークブックを閉じる

はじめに

Excel VBA マクロのワークブックを閉じる方法を紹介します。

Workbook.Close メソッドでブックを閉じます。Workbooks.Close メソッドですべてのブックを閉じます。

確認メッセージの表示または非表示や Excel を終了する方法も紹介します。

  • 目次
    • ブックを閉じる
    • すべてのブックを閉じる
    • Excel を終了する

ブックを閉じる

Workbooks の引数に名前を指定すると、そのブックを閉じられます

ブック「Book1.xlsx」のブックを閉じるにはWorkbooks("Book1.xlsx").Closeを入力します。


Workbooks("Book1.xlsx").Close ' ブック「Book1.xlsx」を閉じる
ThisWorkbook.Close            ' マクロを実行しているブックを閉じる

最後のブックを閉じたときは空のブックが表示されます。

ブックが編集中のときは確認メッセージが表示されます。

1

確認メッセージを表示しないで閉じる

メッセージを表示するかを引数「SaveChanges」で指定できます。

説明
省略変更があれば確認メッセージを表示します。
True変更を保存して閉じます。
False保存しないで閉じます。

Dim wb As Workbook
Set wb = Workbooks("Book1.xlsx")

Call wb.Close(SaveChanges:=True)  ' 変更を保存して閉じる
Call wb.Close(SaveChanges:=False) ' 保存しないで閉じる

すべてのブックを閉じる

すべてのブックを閉じるにはWorkbooks.Closeを入力します。


Workbooks.Close ' すべての Workbook を閉じる

編集中のブックがあるときは確認メッセージが表示されます。

1

Workbooks.Close には引数がないため、確認メッセージを表示しないようにはできません。

また、すべてのブックを閉じると空のブックが表示されます。これらを表示させないためには Excel を終了する必要があります。

Excel を終了する

Excel を終了するにはApplication.Quitを入力します。


Application.Quit

ブックが編集中のときは確認メッセージが表示されます。

1

メッセージを表示させないためには、事前にすべてのブックを保存するかしないか選択します。

すべて保存して終了


Dim wb As Workbook
For Each wb In Workbooks
    wb.Save ' すべてのブックを保存
Next

Application.Quit ' Excel を終了する

すべて保存しないで終了


Dim wb As Workbook
For Each wb In Workbooks
    wb.Saved = True ' 保存しないで保存済みにする
Next

Application.Quit ' Excel を終了する
  • 目次
    • ブックを閉じる
    • すべてのブックを閉じる
    • Excel を終了する