ここでは、VBA のユーザーフォームの終了イベントである、UserForm_QueryClose および UserForm_Terminate イベントが発生しないケースについて、簡単なサンプルスクリプトで検証しています。
スポンサーリンク
ユーザーフォームの終了イベントが発生しない
次のユーザーフォームを作成して実行しても、終了イベントである UserForm_QueryClose および UserForm_Terminate イベントは発生しません。
Option Explicit
' 初期イベント
Private Sub UserForm_Initialize()
' 出力される
Debug.Print "UserForm_Initialize"
End Sub
' フォームクリックイベント
Private Sub UserForm_Click()
' 出力される
Debug.Print "UserForm_Click"
' End ステートメントでユーザーフォームを終了させる
End
End Sub
' フォーム終了イベント1
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
' 出力されない(イベント自体が発生しない)
Debug.Print "UserForm_QueryClose"
End Sub
' フォーム終了イベント2
Private Sub UserForm_Terminate()
' 出力されない(イベント自体が発生しない)
Debug.Print "UserForm_Terminate"
End Sub
確実に何か終了処理が必要であるのであれば、覚えておいた方が良いでしょう。