VBA Excel - Ein Formular schliessen

Pinky

Erfahrenes Mitglied
Hallo Leute,

ich habe drei Formulare. Beim ersten werden allgemeine Angaben gemacht. Danacht wirst du auf ein anderes Formular verwiesen, je nach dem ob du männlich oder weiblich bist, und kannst dort Details angeben.

Wenn ich nun fälschlicherweise das Formular der Frauen öffne, ich aber ein Mann bin, möchte ich einen Abbrech-Button, der nur das Formular der Frauen schliesst und nicht das Formular mit den allgemeinen Angaben.

Ich versuchte es so:
Code:
Private Sub abbrechen_Click()
    UserForm2.Hide
End Sub

Aber bei dieser Funktion macht es mir beide Formulare zu, obwohl ich klar UserForm2 definiere. Das andere heisst UserForm1, wird aber auch geschlossen. Warum?

Vielen Dank
Pinky
 
Die allgemeinen infos sind in welcher form?
Und welche form ist geschlechtsspezifisch?
Und in welcher liegt überhaupt abbrechen? :)

Du hast mich verwirrt... :p
 
Haha, wollte ich nicht;) !

Also, es ist wie folgt:

  • Die allgemeinen Informationen sind im UserForm1. Hier kann ich auch auswählen, ob ich Mann oder Frau bin.
  • Wenn ich Mann bin, werde ich ins UserForm2 weitergeleitet
  • Wenn ich Frau bin, werde ich ins UnserForm3 weitergeleitet
  • Der Abbrechbutton ist in den Formularen UserForm2 sowie UserForm3

Meine Absicht ist, falls jemand fälschlicherweise auf Mann klickt, aber doch zur Erkentniss kommt, die Person sei weiblich, dann soll es einen Abbrech-Button geben, der nur das Formular des Mannes schliesst, also UserForm2, nicht aber das UserForm1 mit den allgemeinen Angaben.

Hoffe ich habe dich entwirrt.

Danke
Pinky
 
Das ist korrekt, dass ich den Code verwende, das geht aber nicht. Es zeigt immer beide Fenster an. Das neue Fenster wird einfach über das alte geöffnet.

Ich verwende: UserForm1.Hide

Ich möchte aber, dass ich bei dem neuen Fenster (UserForm2 - Männer) einen Abbrechen-Button habe, der nur das zweite Formular schliesst und UserForm1 wieder anzeigt.
 
Nimm mal das UserForm1.hide aus dem code raus...
Ich hab auf die schnelle unsauber programmiert... :)


Siehe dazu... meine Signatur... :)
 
Ok, ich habe es rausgenommen. Doch es funktioniert immer noch nicht.

Nun macht es bei mir zwar nur das UserForm2 (Männer) zu, das Formular UserForm1 hingegen ist gar nicht mehr zu schliessen!

Was hat hide eigentlich für eine Funktion. Hide versteckt (egl. übersetzt) eigentlich das Formular nur. Es ist solange weg, bis ich es wieder per show wieder hohle.

Gibt es eine möglichkeit, das Fenster UserForm2 bei betätigen des Abbrech-Buttons ganz zu schliessen?

Was ich noch komisch finde, das erste Formular UserForm1 versteckt es mir gar nicht. Auch mit dem Code nicht:
Code:
Private Sub eintragen_Click()
    If student = True Then
    UserForm2.Show
    ElseIf erwerbstaetig = True Then
    UserForm3.Show
    ElseIf arbeitslos = True Then
    UserForm4.Show
    End If
UserForm1.Hide
End Sub

Auch wenn ich das UserForm1.Hide weglasse, funktionierts nicht (auch nicht verwunderlich).

Noch letze Ideen?
Euer Pinky
 
Bei dem Code oben, hat er so lange das UserForm1.hide nicht ausgeführt, wie UserFormX noch offen war. Beim schließen führt er dann beide aus.

Und ja, .Hide "versteckt" das Formularnur, bis es wieder aufgerufen wird.
Der andere Befehl ist Unload UserFormX

das Formular UserForm1 hingegen ist gar nicht mehr zu schliessen!
wann willst du das denn geschlossen haben?
 

Neue Beiträge

Zurück