教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA シート操作】シートが非アクティブになった時に発生するイベントプロシージャを作成するにはどうすればいいの?教えて!

構文

構文は以下の通りです。

Private Sub Worksheet_Deactivate()
    ' 実行したいコードをここに記述する
End Sub

解説

Worksheet_Deactivateイベントプロシージャは、特定のシートが非アクティブ(選択されていない)になったときに実行されます。例えば、シートの内容の保存や更新、特定のメッセージの表示など、さまざまな処理を実装することができます。

プログラミング例

以下に、具体的なプログラミング例を示します。

Private Sub Worksheet_Deactivate()
    ThisWorkbook.Save
End Sub

この例では、非アクティブになったときに自動的にブック全体を保存するために、ThisWorkbook.Saveメソッドを使用しています。このコードを対象のシートのコードモジュールに追加することで、非アクティブになった瞬間に自動的に保存処理が実行されます。

まとめ

Worksheet_Deactivateイベントプロシージャは、シートが非アクティブになったときに実行されるコードを記述するための便利な機能です。このイベントプロシージャを使用することで、特定の操作や処理を自動化することが可能になります。是非活用してください。