Hallo,
hab es heute morgen selbst mal nachgestellt.
Bei mir hat es so funktioniert wie du beschrieben hast, auch ohne das überprüfen. (Siehe Code unten)
Allerdings war das auch nur ein kurzer Test, und die Erfahrungen habe gezeigt, dass es bei so was halt immer wieder zu Problemen führen kann.
Je nach Fall kann es vielleicht mal vorkommen, dass ein Userform "entladen" wird. Somit kommt es dann zu Problemen.
Die Erfahrung hat halt (mir) gezeigt, dass das hantiern mit mehreren Userformen oft etwas knifflig wird.
Daher die Überlegung das ganze in einer Userform zu mach...
Hier mal der Code den ich getestet habe.
Aufruf der Userform1 in einem Modul:
Public f1 As UserForm1
Public f2 As UserForm2
Public Sub t()
Set f1 = New UserForm1
Set f2 = New UserForm2
f1.Show
End Sub
in Userform1 dann mit 2 Buttons (Weiter und Schließen).
hier hatte ich auch die Überprüfung drin die prüft ob usermform2 noch in der Variablen f2 vorhande ist.
hab ich dann aber deaktiviert/auskommentiert, weil es bei dem Test doch nicht nötig war
Private Sub CommandButton1_Click()
'If f2 Is Nothing Then Set f2 = New UserForm2
f2.Show
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Und in Userform2 dann auch 2 Button einer für Zurück, einer für beide Userformen schießen.
Private Sub CommandButton1_Click()
Unload Me
Unload f1
End Sub
Private Sub CommandButton2_Click()
Me.Hide
End Sub
|