Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wechsel zwischen UserFormen

Forumthread: Wechsel zwischen UserFormen

Wechsel zwischen UserFormen
05.06.2003 11:09:09
Sassi
Hallo liebe Leute,
heute habe ich auch mal wieder ein Problem.
Ich habe ein Programm, welches eine UserForm öffnet.
Auf dieser UserForm hat man die Wahl eine zweite UserForm
zu öffnen und Eingaben zu tätigen.
Wenn ich die zweite geöffnet habe, befindet sich die
erste immer noch im Hintergrund.
Jetzt zu meinem Problem, wie komme ich an die erste UserForm
wieder ran??? Ich habe einen Button auf der Zweiten eingebaut,
welcher zurück zur Ersten verweist, aber mir fehlt die ent-
sprechende Funktion.
Ich hoffe mir kann einer helfen...
Ich danke euch schonmal im Voraus...
Gruß Sassi

Anzeige

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Wechsel zwischen UserFormen
05.06.2003 11:15:36
günther

beim click-ereignis des zurück-buttons folgender code:

Userform1.show

gruss
günther

Re: Wechsel zwischen UserFormen
05.06.2003 11:17:23
Sassi

Hallo Günther,
nein, sorry, dann gibt er mir einen Kompilierungsfehler
an, weil die UserForm schon auf ist.
Hast du vielleicht eine andere Idee?
Gruß Sassi

Re: Wechsel zwischen UserFormen
05.06.2003 11:17:30
el

HALLO Sassi!
zweite form einfach mit
Private Sub CommandButton1_Click()
Unload Me
' call userform1
End Sub
so verschwendet die zweite form und Bleibt die erste offen.
oder wenn bei anruf zweite form
Private Sub CommandButton2_Click()
Unload Me
call userform2
End Sub

mfg.
el

Anzeige
Re: Wechsel zwischen UserFormen
05.06.2003 11:21:09
Sassi

Hallo El,
sorry, ich habe es gleich ausprobiert.
Heul, es geht nicht...Kompilierungsfehler...
Hast du vielleicht eine andere Idee?
Gruß Sassi

Re: Wechsel zwischen UserFormen
05.06.2003 11:23:09
Bernd

Hi Sassi

für commandbutton1 in der userform1
userform1.hide
userform2.show

für commandbutton1 in der userform2
userform2.hide
userform1.show


gruss bernd

Anzeige
Re: Wechsel zwischen UserFormen
05.06.2003 11:26:00
Marco Nickolai

Hi
Das sollte so funktionieren:

UserForm1:

Private Sub CommandButton1_Click()
UserForm1.Hide
UserForm2.Show
End Sub

UserForm2:

Private Sub CommandButton1_Click()
UserForm2.Hide
UserForm1.Show
End Sub

Gruß Marco


Re: Wechsel zwischen UserFormen
05.06.2003 11:29:05
Sassi

Hallo Marco,
hm, wenn ich Hide mache, dann verschwindet die UserForm
ganz und gar. Das ist auch doof, denn die ganzen Eingaben,
die ich vorher in Textfeldern oder so gemacht habe auf der
UserForm sind ja dann weg...
Haste irgendeine andere Idee???
Danke, Sassi

Anzeige
Re: Wechsel zwischen UserFormen
05.06.2003 11:30:27
Sassi

Hallo Bernd,
hm, das ist auch doof, denn die ganzen Eingaben sind dann
weg, wenn ich Hide mache. Ich will ja vielleicht irgendwelche
Eingaben verändern können.
Hast du vielleicht eine andere Idee?
Danke, Sassi

Re: Wechsel zwischen UserFormen
05.06.2003 11:35:54
Bernd

Hallo Sassi

durch .hide wird die Userform nicht gelöscht, nur versteckt.
Alle Inhalte Deiner Textboxen sollten beim nächsten .show
unverändert erhalten sein.

gruss Bernd

Anzeige
Re: Wechsel zwischen UserFormen
05.06.2003 11:38:29
günther

hi sassi,

dann solltest du vor dem zurückwechseln zur userform1 die daten íns Excel schreiben und vor dem wechsel auf userform2 z.B. beim Ereignis initialize die daten von Excel in die Userform einlesen

gruss günther

Re: Wechsel zwischen UserFormen
05.06.2003 11:41:08
Marco Nickolai

Hi

hast du es schon versucht? Bei mir zeigt er die daten in UserForm1 und Userform2 nach dem wechsel noch an. Sie ist ja noch geladen und wird nur nicht angezeigt. Würddest du es so machen wären die daten weg.

UserForm1:

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

UserForm2
Private Sub CommandButton1_Click()
Unload Me
UserForm1.Show
End Sub

Gruß Marco

Anzeige
Re: Wechsel zwischen UserFormen
05.06.2003 11:42:08
Sassi

Hallo Bernd,
hm, das Problem ist, dass die UserForm1 ja auf dem Bildschirm
ist und mit show erzeugst du ja ein neues Objekt.
Er zeigt immer wieder Kompilierungsfehler an...
Excel sagt, dass UserForm1 ja schon vorhanden ist.
Danke dir trotzdem...
Is ja zum verzweifeln alles...;-)))
Gruß Sassi

Anzeige
Re: Wechsel zwischen UserFormen
05.06.2003 11:43:42
Sassi

Hallo Günther,
gerade das wollte ich mir ersparen...;-))))
Gibt es echt keine Funktion, die zwischen Objekten
hin und her springt??? Is ja echt wunderlich...
Danke dir trotzdem...
Gruß Sassi

Re: Wechsel zwischen UserFormen
05.06.2003 11:47:59
Sassi

Hallo Marco,
bei mir sagt er jedesmal:
Formular wird bereits angezeigt und kann daher nicht gebunden
angezeigt werden.
Er meckert immer Show an...
Und bei dir klappt es???
Gruß sassi

Anzeige
Re: Wechsel zwischen UserFormen
05.06.2003 11:51:22
Marco Nickolai

Hi Sassi,

ja bei mir klappt es. Du kannst mir ja mal Deine datei an MarcoNickolai@gmx.de schiken dann schaue ich mal wo dein fehler liegt.

Gruß Marco

Re: Wechsel zwischen UserFormen
05.06.2003 11:52:28
Sassi

Hallo Marco,
si, mach ich...
danke dir...
Gruß Sassi

Re: Wechsel zwischen UserFormen
05.06.2003 11:55:38
Bernd

Hallo,

bei mir funktioniert es aber genau so :

In der UserForm1:
Private Sub CommandButton1_Click()
UserForm1.Hide
UserForm2.Show
End Sub

In der UserForm2:
Private Sub CommandButton1_Click()
UserForm2.Hide
UserForm1.Show
End Sub

Funktioniert ohne Kompilierungsfehler

Anzeige
Re: Wechsel zwischen UserFormen
05.06.2003 12:18:02
Sassi

Hallo Bernd,
Marco hat auch gesagt, dass es bei ihm funktioniert.
Ich spinne wirklich nicht, aber bei mir geht es einfach
nicht...ich verstehe es langsam selber nicht...
Habt ihr vielleicht eine andere Excel-Version???
Kann das dadran liegen?
Gruß Sassi

Re: Wechsel zwischen UserFormen
05.06.2003 12:26:47
günther

hi sassi

habe die gleiche Version wie du und bei mir funkioniert marco's und bernd's code ebenfalls - reihenfolge ist wichtig

poste mal den relevanten code-teil bzw. die nummer des laufzeitfehlers, vielleicht ist da was eruierbar

gruss günther

Anzeige
Re: Wechsel zwischen UserFormen
05.06.2003 13:07:20
Sassi

Hi Günther,
ich habe den Code schon Marco geschickt. Er hat ihn
mir wieder so zurück geschickt, wie es bei ihm klappt,
aber was soll ich dir sagen, bei mir geht es nicht...
Ich weiß nicht woran das liegt...ich kann es dir echt
nicht sagen...
Ich bekomme immer Laufzeitfehler 400...er meckert immer
das Show an...ganz seltsam...
Vielleicht findest du ja was...
Gruß und Danke sassi

Anzeige
;
Anzeige

Infobox / Tutorial

Wechsel zwischen UserFormen in Excel


Schritt-für-Schritt-Anleitung

  1. UserForm1 erstellen:

    • Öffne den Visual Basic for Applications (VBA) Editor in Excel.
    • Füge eine neue UserForm hinzu und nenne sie UserForm1.
    • Platziere einen Button (CommandButton) auf UserForm1.
  2. Code für den Button in UserForm1:

    • Doppelklicke auf den Button und füge folgenden Code ein:
      Private Sub CommandButton1_Click()
       UserForm1.Hide
       UserForm2.Show
      End Sub
  3. UserForm2 erstellen:

    • Erstelle eine zweite UserForm und nenne sie UserForm2.
    • Platziere einen Button auf UserForm2.
  4. Code für den Button in UserForm2:

    • Doppelklicke auf den Button und füge diesen Code hinzu:
      Private Sub CommandButton1_Click()
       UserForm2.Hide
       UserForm1.Show
      End Sub
  5. Testen:

    • Starte die UserForm1 und klicke auf den Button. Die UserForm2 sollte sich öffnen und die UserForm1 im Hintergrund bleiben.

Häufige Fehler und Lösungen

  • Kompilierungsfehler: Wenn du einen Kompilierungsfehler erhältst, stelle sicher, dass die UserForms korrekt benannt sind und die Buttons die entsprechenden Subroutinen aufrufen.

  • Laufzeitfehler 400: Dieser Fehler kann auftreten, wenn du versuchst, eine bereits angezeigte UserForm erneut mit Show zu öffnen. Verwende stattdessen .Hide, um die UserForm zu verstecken.

  • Datenverlust: Wenn du die UserForm mit .Hide versteckst, bleiben die Eingaben in den Textfeldern erhalten. Sollte dies nicht der Fall sein, überprüfe, ob du die UserForms korrekt initialisierst.


Alternative Methoden

  • Daten vor dem Wechsel speichern: Speichere die Eingaben in Excel, bevor du die UserForm wechselst. Das kannst du im Click-Ereignis des Buttons tun:

    Private Sub CommandButton1_Click()
      ' Daten speichern
      Sheets("Tabelle1").Range("A1").Value = TextBox1.Value
      UserForm1.Hide
      UserForm2.Show
    End Sub
  • Formular schließen: Anstelle von .Hide, kannst du die UserForm mit Unload Me schließen, bevor du die nächste öffnest. Achte jedoch darauf, dass alle Daten gespeichert sind.


Praktische Beispiele

  • Beispiel 1: Wechsel zwischen zwei UserForms, wobei die Eingaben in TextBoxen erhalten bleiben:

    ' In UserForm1
    Private Sub CommandButton1_Click()
      UserForm1.Hide
      UserForm2.Show
    End Sub
    
    ' In UserForm2
    Private Sub CommandButton1_Click()
      UserForm2.Hide
      UserForm1.Show
    End Sub
  • Beispiel 2: Daten in Excel speichern, bevor der Wechsel erfolgt:

    Private Sub CommandButton1_Click()
      ' Daten speichern
      Sheets("Tabelle1").Range("A1").Value = TextBox1.Value
      Unload Me
      UserForm2.Show
    End Sub

Tipps für Profis

  • Verwende Initialize-Ereignisse: Nutze das Initialize-Ereignis der UserForms, um Daten beim Öffnen zu laden.

  • Debugging: Verwende Debug.Print in deinem Code, um den Fluss zu überprüfen und herauszufinden, wo es möglicherweise hakt.

  • UserForm-Management: Halte den Überblick über alle UserForms, um Konflikte zu vermeiden. Eine saubere Struktur hilft, Fehler zu vermeiden.


FAQ: Häufige Fragen

1. Warum erhalte ich einen Kompilierungsfehler, wenn ich die UserForms wechsle?
Der Kompilierungsfehler kann auftreten, wenn du versuchst, eine UserForm, die bereits angezeigt wird, erneut zu zeigen. Stelle sicher, dass du .Hide verwendest, bevor du .Show aufrufst.

2. Wie kann ich die Eingaben in den UserForms speichern?
Du kannst die Eingaben in Excel speichern, indem du sie im Click-Ereignis der Buttons in die entsprechenden Zellen schreibst, bevor du die UserForm wechselst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige