Userform problem

C

Craig M

Sorry... I'm sort of reposting this since I received no answer from my first
post. This time I will show some sample code.

I have 3 userforms:

'Userform1
Private Sub CommandButton1_Click()
userform2.Show
End Sub


'Userform2
Private Sub CommandButton1_Click()
userform2.Hide
End Sub

Private Sub TextBox1_Change()
If TextBox1.TextLength = 4 Then
If TextBox1.Text = "5555" Then
userform2.Hide
userform1.Hide
Userform3.Show
End If
End If
End Sub

'Userform3
Private Sub CommandButton2_Click()
Userform3.Hide
userform1.Show
End Sub

When I click the commandbutton1 on userform1 it shows userform2, when I type
"5555" into textbox1 then userform3 shows and userform1 and 2 hide, if I
click Commandbutton2 on Userform3, Userform3 hides and Userform1 shows...
the problem is if I try to do the same sequence again. The textbox1 events
don't work the second time.
Do anyone know why this is happening, and does someone know how to make this
work?
Thanks in Advance... and sorry again for the repost!

Craig
 
T

Tom Ogilvy

'Userform1
Private Sub CommandButton1_Click()
userform2.Show
msgbox "Userform1.CommandButton1 Ends"
End Sub


'Userform2
Private Sub CommandButton1_Click()
userform2.Hide
Msgbox "Userform2.CommandButton1 Ends"
End Sub

Private Sub TextBox1_Change()
If TextBox1.TextLength = 4 Then
If TextBox1.Text = "5555" Then
userform2.Hide
userform1.Hide
Userform3.Show
End If
End If
msgbox "Userform2.TextBox1 Ends"
End Sub

'Userform3
Private Sub CommandButton2_Click()
Userform3.Hide
userform1.Show
msgbox "Userform3.Commandbutton2 Ends"
End Sub

Try it that way. Do your events end, or are they still being executed -
thus perhaps causing your problem.
 
C

Craig M

OK... when I press userform1.commandbutton1 the userform2 shows but the
Msgbox doesn't display. After Userform2 shows if I click
Userform2.Commandbutton1 to hide Userform2 then Userform2 Msgbox fires and
then userform1 Msgbox fires. So I see it isn't firing when it should be...
can I fix this? The userfrom2.textbox1 fired on the first 3 keystrokes but
didn't on the 4th keystroke then it moved on to userform3... when I pressed
userforms.commandbutton the msgbox didn't fire.... but when I closed the
routine via VBA all the msgbox events fire that hadn't!
I know that it will work if I don't hide the Userform1 when it shows
userform3.

There must be a way to make this work, how do other people add user names
and passwords for entry?
Craig
 
T

Tom Ogilvy

The reason it doesn't work is that you have a long string of events tied up
because they can't end.

Show your userforms as Modeless rather than modal and maybe that will work
for you.
 
C

Craig M

Thanks Tom.... If I show Userform1 and 3 modeless then it works fine...
Thanks
Craig
 

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