- ベストアンサー
Excel-VBA [X]クリックベント取得
UserFormで、通常の「CommandButton」ならClickイベントを次のコードで取得できるのですが、 Private Sub CommandButton1_Click() CommandButton1.Value = Date End Sub 質問:UserForm左上の[X]ボタンをクリックした時のイベントを取得したいのですが、誰かサンプルコードを提供いただければ幸いです。 宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>誰かサンプルコードを提供いただければ幸いです。 Googleででも「userform 閉じるボタン」で照会すれば仕舞いでしょう。 そこの初めのサイトから、下記で良いのでは。 Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = vbFormControlMenu Then MsgBox "キャンセルはできません。" Cancel = True End If End Sub
その他の回答 (1)
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Application.ScreenUpdating = False '// ×ボタンの無効化 // Cancel = True ThisWorkbook.Save Application.DisplayAlerts = False If Workbooks.Count <= 1 Then Application.Quit '// EXCELを閉じる // Else Application.Visible = True ActiveWindow.Close '// Workbookを閉じる // End If Application.ScreenUpdating = True End Sub
お礼
imogasiさんご教授有難うございました。 Googleで「VBA userform 閉じるボタン」で検索し目的に適った事例を取得。非力な私には内容がやっと理解でき課題解決に至りました。 参考:下記は評価済みサンプルです。 Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = vbFormControlMenu Then If MsgBox("「" & UserForm1.Caption & "」を閉じますか?", vbYesNo) = vbNo Then Cancel = True End If End Sub