VBA Excel-如何使用MS Excel中的取消buttonclosures?

我在Private Sub Workbook_BeforeClose(Cancel As Boolean)时运行macros,但是每当用户单击取消buttonmacros不应运行。


我一直遵循以下几行代码

 Private Sub Workbook_BeforeClose(Cancel As Boolean) If Cancel = True Then MsgBox "You clicked on Cancel" ElseIf Cancel = False Then Call SDA End If 

结束小组
但是,每当我按取消button它不显示任何MessageBox.Any帮助将不胜感激。 在这里输入图像说明

试试这个请:

 Option Explicit Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim Msg As String Dim ireply As Integer If Not Me.Saved Then Msg = "Do you want to Save this book? " ireply = MsgBox(Msg, vbQuestion + vbYesNoCancel) Select Case ireply Case vbYes Me.Save Call SDA Case vbNo Me.Saved = True Case vbCancel Cancel = True MsgBox "Cancelling...workbook close event!" Exit Sub End Select End If End Sub 
  • 输出对话框:

在这里输入图像说明

消息框取消事件封装的通常结构如下所示:

 '--Display MessageBox Dim intMsg as integer intMsg = MsgBox(strPrompt, vbYesNo, strTitle) '--Check pressed button If iRet = vbNo Then MsgBox "NO!" Else MsgBox "Yes!" End If