ここでは、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
確実に何か終了処理が必要であるのであれば、覚えておいた方が良いでしょう。