構文
構文は以下の通りです。
Private Sub Workbook_Deactivate()
' ここに実行したいコードを記述する
End Sub
' ここに実行したいコードを記述する
End Sub
解説
Workbook_Deactivateイベントプロシージャは、ブックが非アクティブ化されたときに実行されます。例えば、ブックが非アクティブになったら自動的に保存する、特定のセルの値をクリアする、またはメッセージボックスを表示するなどの動作を設定することができます。
プログラミング例
以下に、Workbook_Deactivateイベントプロシージャのプログラミング例を示します。
例1: 非アクティブになったときにメッセージボックスを表示する
Private Sub Workbook_Deactivate()
MsgBox "このブックは非アクティブになりました。"
End Sub
MsgBox "このブックは非アクティブになりました。"
End Sub
例2: 非アクティブになったときに自動的に保存する
Private Sub Workbook_Deactivate()
ThisWorkbook.Save
End Sub
ThisWorkbook.Save
End Sub
例3: 非アクティブになったときに特定のセルの値をクリアする
Private Sub Workbook_Deactivate()
ThisWorkbook.Sheets("Sheet1").Range("A1").ClearContents
End Sub
ThisWorkbook.Sheets("Sheet1").Range("A1").ClearContents
End Sub
上記の例では、例1では非アクティブになったときにメッセージボックスが表示されます。例2では自動的にブックが保存されます。例3では非アクティブになったときにSheet1のA1セルの値がクリアされます。
まとめ
Workbook_Deactivateイベントプロシージャは、Excelのブックが非アクティブになったときに発生するイベントです。このイベントを利用することで、ブックが非アクティブになったときに特定の処理を実行することができます。使い方は、VBAエディタで対象のブックのモジュールにWorkbook_Deactivateイベントプロシージャを追加し、その中に実行したい処理を記述します。