closing userforms

J

john.9.williams

what is the best method of closing a userform,, i know you can use the
unload userform, but wheres the best place to put this.

i have a form with a few commands buttons on it. from the command
buttons i only use the call function
i.e call nextsub
then the first line of code within this sub would be unload userform1.
also i would open another form at the end of this sub using the
userform2.show. Is this enough to ensure userform1 is closed

john
 
B

Bob Phillips

The normal practice is to have an OK and a Cancel button on a form. Cancel
unloads without hesitation, OK might do some saving of data.

If you want to call another form (say Form2) from your button (in say
Form1), showing Form2 in itself does not unload Form1, you have to
explicitly do it. But you need to unload Form1 before you show Form2, else
it will wait for Form2 to unload in its turn before Form1 unloads.


Unload Me
UserForm2.Show

--

HTH

RP
(remove nothere from the email address if mailing direct)
 
C

Chip Pearson

Simply showing userform2 will not close userform1. It will cause
userform2 to be displayed above (on top of) userform1. To close
userform1, use the Hide method if you want to keep userform1 in
memory (so you can still read values from its controls), or the
Unload statement if you want to dump userform1 from memory.
Either of these statements should be before the Show method of
userform2.
 
J

john.9.williams

thanks so would having a button on userform 1 that calls a module that
first unloads form1 then opens form2 would be ok
ie.

Private Sub CommandButton6_Click()
Call finnish
End Sub


sub finnish ()

unload userfrom1

various lines of code


userfrom2.show

end sub
 
B

Bob Phillips

in essence yes, but get the order right

sub finnish ()

various lines of code

unload userfrom1

userfrom2.show

end sub
 
T

Tom Ogilvy

The order in the original looked fine to me. What is the advantage or
rightness of doing various lines of code prior to unloading userform1?
 

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