ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Excel: VBA userform is shown but not loaded/initialized even though it was first unloaded? (https://www.excelbanter.com/excel-programming/284435-excel-vba-userform-shown-but-not-loaded-initialized-even-though-first-unloaded.html)

Luisa[_2_]

Excel: VBA userform is shown but not loaded/initialized even though it was first unloaded?
 
I have a Userform1 where the user can select between different
transactions. If the Clientbutton is clicked I hide Userform1 and show
Userform2, opens an excel workbook and enters some values. If the
Exitbutton on Userform2 is clicked I unload Userform2 and in the
terminate event I save the workbook and show Userform1 again.

So far so good ... it works fine ... the problem is when I then click
the Clientbutton on Userform1 a second time. Userform2 is shown
alright, but the workbook is not opened and I cannot click neither the
Exitbutton nor the Close (X in upper right corner) ... only solution
is CTRL+ALT+DELETE.

Any solutions?

Regards, Luisa

Code on Userform1:
Private Sub ClientButton_Click()
UserForm1.Hide
UserForm2.Show
End Sub

Code on Userform2:
Private Sub ExitButton_Click()
Unload UserForm2
End Sub

Private Sub UserForm_initialize()
ClientFile = ActiveWorkbook.Path & "\Client.xls"
Workbooks.Open Filename:=ClientFile
End Sub

Private Sub UserForm_Terminate()
ActiveWorkbook.Close SaveChanges:=True
UserForm1.Show
End Sub

Tom Ogilvy

Excel: VBA userform is shown but not loaded/initialized even though it was first unloaded?
 
The terminate event for userform2 is suspended waiting the closing of
userform1.

You should manage your userforms from a single routine, passing back
information that the routine uses to make a decision on whether to show
another userform or to quit (or do something else).

--

Regards,
Tom Ogilvy

"Luisa" wrote in message
om...
I have a Userform1 where the user can select between different
transactions. If the Clientbutton is clicked I hide Userform1 and show
Userform2, opens an excel workbook and enters some values. If the
Exitbutton on Userform2 is clicked I unload Userform2 and in the
terminate event I save the workbook and show Userform1 again.

So far so good ... it works fine ... the problem is when I then click
the Clientbutton on Userform1 a second time. Userform2 is shown
alright, but the workbook is not opened and I cannot click neither the
Exitbutton nor the Close (X in upper right corner) ... only solution
is CTRL+ALT+DELETE.

Any solutions?

Regards, Luisa

Code on Userform1:
Private Sub ClientButton_Click()
UserForm1.Hide
UserForm2.Show
End Sub

Code on Userform2:
Private Sub ExitButton_Click()
Unload UserForm2
End Sub

Private Sub UserForm_initialize()
ClientFile = ActiveWorkbook.Path & "\Client.xls"
Workbooks.Open Filename:=ClientFile
End Sub

Private Sub UserForm_Terminate()
ActiveWorkbook.Close SaveChanges:=True
UserForm1.Show
End Sub




Luisa[_2_]

Excel: VBA userform is shown but not loaded/initialized even though it was first unloaded?
 
Hi Tom,

Sorry, but I don't understand (being a newbie with forms) ... the code
in the terminate event is executed, i.e. the workbook is closed, the
changes are saved and Userform2 is shown ... so what do you mean by
the "terminate event is suspended"? Do the terminate event not finish
up?

Regards, Luisa

"Tom Ogilvy" wrote in message ...
The terminate event for userform2 is suspended waiting the closing of
userform1.

You should manage your userforms from a single routine, passing back
information that the routine uses to make a decision on whether to show
another userform or to quit (or do something else).

--

Regards,
Tom Ogilvy



All times are GMT +1. The time now is 06:32 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com