userform cancel button

D

davegb

I have a cancel button in a userform. The code in the form unloads the
userform. But I want the cancel button to end the main macro too. I've
tried numerous conbinations of

if cbCancel then exit sub

and a dozen others. None of them work. They either cancel the program
even if the Cancel button isn't clicked, or don't exit when it is. I
did a google search here and found a number of routines, none of which
seemed to apply to my situation (I don't need to check and see if the
person speaks English to exit. I want my users to be able to exit even
if they don't speak English!). Can someone give me some simple code to
put in my macro to close the program if the cbCancel command button has
been clicked?

Thanks for the help!
 
N

Norman Jones

Hi Dave,

Try something like:

In a standard module:

Option Explicit
Public blCancelled '<<=== Before any subs

'=============>>
Public Sub Tester001()

blCancelled = False
UserForm1.Show

If blCancelled Then Exit Sub
'Other code, e.g.:
MsgBox "Hi"

End Sub
'<<=============

In the Userform module:

'=============>>
Private Sub cbCancel_Click()
blCancelled = True
Unload Me
End Sub
'<<=============
 
D

davegb

davegb said:
I have a cancel button in a userform. The code in the form unloads the
userform. But I want the cancel button to end the main macro too. I've
tried numerous conbinations of

if cbCancel then exit sub

and a dozen others. None of them work. They either cancel the program
even if the Cancel button isn't clicked, or don't exit when it is. I
did a google search here and found a number of routines, none of which
seemed to apply to my situation (I don't need to check and see if the
person speaks English to exit. I want my users to be able to exit even
if they don't speak English!). Can someone give me some simple code to
put in my macro to close the program if the cbCancel command button has
been clicked?

Thanks for the help!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top