教えて!ExcelVBA!

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

ExcelVBAでフォームが非アクティブ時に自動処理する方法

構文

構文は以下の通りです。

Private Sub UserForm_Deactivate()
    ' ここに非アクティブ時の処理を記述
End Sub

解説

UserForm_Deactivateは、ユーザーフォームが非アクティブになったときに自動的に実行されるイベントです。

プログラミング例

具体的なプログラミング例を紹介します。

Private Sub UserForm_Deactivate()
    Dim メッセージ内容 As String
    メッセージ内容 = "フォームが非アクティブになりました。"
    MsgBox メッセージ内容
End Sub

上記のプログラムは、フォームが非アクティブになったときにメッセージを表示する内容です。

まとめ

フォームの非アクティブイベントを利用することで、フォームが非表示になった瞬間に自動的に特定の処理を実行することができます。