• ベストアンサー

Excel-VBA [X]クリックベント取得

UserFormで、通常の「CommandButton」ならClickイベントを次のコードで取得できるのですが、 Private Sub CommandButton1_Click() CommandButton1.Value = Date End Sub 質問:UserForm左上の[X]ボタンをクリックした時のイベントを取得したいのですが、誰かサンプルコードを提供いただければ幸いです。 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

>誰かサンプルコードを提供いただければ幸いです。 Googleででも「userform 閉じるボタン」で照会すれば仕舞いでしょう。 そこの初めのサイトから、下記で良いのでは。 Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = vbFormControlMenu Then MsgBox "キャンセルはできません。" Cancel = True End If End Sub

sakuraww
質問者

お礼

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

その他の回答 (1)

noname#157410
noname#157410
回答No.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

関連するQ&A