Clever-Excel-Forum

Normale Version: UserForm ausblenden beim Öffnen der anderen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Spezialisten .
Ich habe 3 Userformen ,
1 UserForm wird aufgerufen mit Datei öffnen 
2 UserForm wird Über Button aus  der Ersten aufgerufen 
3 Uaserform wird durch einen 2.Button aus UserForm1 Aufgerufen .
Über Abbruch Button auf der Jeweiligen Userform kann ich diese auch schließen .
Soweit so gut .
Ich möchte aber die UserForm 1 schließen sobald Userform2 oder Userform3 geöffnet ist 
und die Geöffnete Userform dann nach Eingabe der Daten ebenfalls schließen Ohne nochmal separat auf Abbrechen drücken zu müssen.
Kann mir da jemand helfen ? Habe mal meine Datei angehangen weil da ist schon einiges mit eurer Hilfe Passiert.
Danke im Vorraus !!!!
Gruß
Guido
[attachment=35742]
Hallo Guido,

zu Teil 1 der Frage könntest Du das in UserformEingabe so machen:
Code:

Private Sub CommandButton2_Click()
  Unload Me
  UserForm2.Show
End Sub

Private Sub CommandButton3_Click()
  Unload Me
  UserForm1.Show
End Sub

Private Sub CommandButton4_Click()
  Unload Me
End Sub


Tipp: Die Eingabe in Userform1 Unload UserForm("Eingabe") ist übrigens falsch, es müsste Unload UserFormEingabe heißen.

Der zweite Teil ist deutlich umfangreicher.
M.E. müsste man ein (z.B. das letzte Textfeld) oder alle Textfelder nach Eingabe einer Prüfung unterziehen und wenn alle Felder ausgefüllt sind die Daten übertragen werden und die UF geschlossen werden.

Sicherer wäre, dass nach Klicken des Eingabe-Buttons durch den User (wenn er meint alles ausgefüllt zu haben), die Prüfung durchzuführen und die UF nur zu schließen, wenn alles ausgefüllt ist.
Ggf. könnte nach der Prüfung auch gleich zum unausgefüllten Item gesprungen werden.

Code:

Private Sub TextBox_Euro3_Change()
  Call Prüfung
End Sub
'usw.

Private Sub Button_Eingabe_Click()
  Call Prüfung
End Sub

Sub Prüfung()
 Dim bCheck As Boolean
 
 bCheck = True

 If TextBox_Flug.Value = "0" Then bCheck = False
 If TextBox_Mietwagen.Value = "0" Then bCheck = False
'usw,
 If bCheck = True Then
    Call Button_Eingang_Click    'Daten ins Blatt
    Unload Me
 Else
'Nur bei Button_Eingabe_Click
' Msgbox "Es sind  noch nicht alle Felder ausgefüllt!, vbexclamation, "Datenprüfung"
 End If

End Sub

_________
viele Grüße
Karl-Heinz