Here's how I do it for my userforms.
standard code module
Sub Test()
Dim frmTest As UserForm1
Set frmTest = New UserForm1
If frmTest.UserCancel Then
MsgBox "User cancelled"
Else
MsgBox "User closed as expected"
End If
Unload frmTest
Set frmTest = Nothing
End Sub
Userform1 with 2 buttons
code
Private m_blnUserCancelled As Boolean
Public Function UserCancel() As Boolean
m_blnUserCancelled = True
Me.Show
UserCancel = m_blnUserCancelled
Exit Function
End Function
Private Sub CommandButton1_Click()
Me.Hide
End Sub
Private Sub CommandButton2_Click()
m_blnUserCancelled = False
Me.Hide
End Sub
Bookmarks