Excel VBA ブックを閉じる時に自動的に実行する-BeforeClose

Excel VBAでブックを閉じるときに自動で実行する記録です。

ブックを閉じるときに自動で処理するには「BeforeClose」イベントを使います。

下図はExcel2016です。

ExcelVBA閉じるとき自動

 

< スポンサーリンク >

 

構文

Workbook_BeforeClose(Cancel)

ブックが閉じる前に発生します。ブックが変更された場合、ユーザーに変更内容の保存を要求する前に、このイベントが発生します。

Cancel=必須。イベントが発生すると、Falseが渡されます。イベントプロシージャでこの引数にTrueを設定すると、閉じる操作が停止し、ブックは開いたままとなります。

 

ブックを閉じる前にA1セルに今の日付と時間を入力し、ブックを上書き保存。その後「このブックを閉じます」というメッセージを出してみます。

VBEを開き、「TshiWorkbook」をダブルクリックします。

ExcelVBA閉じるとき自動

 

左側のオブジェクトボックスで「Workbook」を選択し、右側のプロシージャボックスで「BeforeClose」を選択します。

ExcelVBA閉じるとき自動

 

「Private Sub Workbook_Open()」の部分は不要なので消します。

ExcelVBA閉じるとき自動

 

下記のように書き込みます。

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    'A1に今の日付、時間を入力
    ThisWorkbook.Worksheets("Sheet1").Range("A1").Value = Now
    'このブックを上書き保存
    ThisWorkbook.Save
    'メッセージ
    MsgBox "このブックを閉じます"
End Sub

ExcelVBA閉じるとき自動

 

ブックをマクロ付で保存し、閉じてみます。

ExcelVBA閉じるとき自動

 

A1セルに今の日付と時間を入力、ブックが上書き保存され、「このブックを閉じます」というメッセージが出ました。

ExcelVBA閉じるとき自動

 

< スポンサーリンク >



サブコンテンツ

このページの先頭へ