VBA Excel-如何使用MS Excel中的取消按钮关闭?

Sai*_*ala 1 excel events vba messagebox

我正在运行一个宏,Private Sub Workbook_BeforeClose(Cancel As Boolean) 但每当用户点击取消按钮宏不应该运行.


我一直在遵循代码行

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

End Sub
但是每当我按下取消按钮时它都没有显示任何MessageBox.Any帮助将非常感激.在此输入图像描述

bon*_*igo 7

请试试这个:

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
Run Code Online (Sandbox Code Playgroud)
  • 输出对话框:

在此输入图像描述

消息框取消事件换行的常规结构如下:

'--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
Run Code Online (Sandbox Code Playgroud)