< Visual Basic for Applications 
 
      Summary
This code block contains a message box function for YES, NO or CANCEL.
VBA Code
Option Explicit
Sub TestYesNoCancel()
    'run to test message box
    
    Dim bDefault As Boolean
    
    If YesNoCancel(bDefault) = True Then
        If bDefault Then
            'do default stuff
            MsgBox "Using default"
        Else
            'do other stuff
            MsgBox "Using other"
        End If
    Else
           'do cancelled stuff
        MsgBox "User cancelled"
        Exit Sub
    End If
End Sub
Function YesNoCancel(bDefault As Boolean) As Boolean
    'Message box for yes, no, or cancel
    Dim Msg As String, Style As Long, Title As String
    Dim Reply As Integer
    'assignments
    Msg = "Do you want the default ?" & vbNewLine & vbNewLine & _
          "Select :" & vbNewLine & _
          "YES ;  for the default," & vbNewLine & _
          "NO ;   for some other," & vbNewLine & _
          "CANCEL ;  to quit."                              'message
    Style = vbYesNoCancel + vbQuestion + vbDefaultButton1   'buttons.
    Title = "Yes, No, Cancel layout..."                     'title.
    'show message box
    Reply = MsgBox(Msg, Style, Title)
    'resolve choice
    Select Case Reply
    Case vbYes
        bDefault = True
        YesNoCancel = True
    Case vbNo
        YesNoCancel = True
        Exit Function
    Case vbCancel
        Exit Function
    End Select
End Function
See Also
External Links
    This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.