Live-Forum - Die aktuellen Beiträge
Datum
Titel
25.10.2025 08:21:40
24.10.2025 18:10:41
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Userform Unload funktioniert nicht

Userform Unload funktioniert nicht
12.02.2020 08:49:52
Axel
Hallo zusammen,
ich habe ein UserForm erstellt, das beim Öffnen der Datei angezeigt wird.
Nach Klick auf eines der drei Bilder aus dem ersten UserForm soll sich ein zweites UserForm öffnen und das erste UserForm schließen.
Private Sub Image1_Click()
Application.ScreenUpdating = False
strName = "Test" 'Speichert die Auswahl des Namens in einer Public Variable
UserForm2.Show
Unload Me
End Sub
Das zweite UserForm öffnet sich zwar, aber das erste UserForm bleibt im Hintergrund bestehen.
Ist "Unload Me" hier der falsche Befehl?
Vielen Dank vorab an eure Hilfe.
Beste Grüße
Axel
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform Unload funktioniert nicht
12.02.2020 08:58:38
SH95
Hallo Axel,
teste mal
Private Sub Image1_Click()
Application.ScreenUpdating = False
strName = "Test" 'Speichert die Auswahl des Namens in einer Public Variable
UserForm2.Show
UserForm1.hide 'Name der Userform ändern
End Sub
Gruß
Stefan
AW: Userform Unload funktioniert nicht
12.02.2020 09:01:32
Axel
Hallo Stefan,
das funktioniert leider auch nicht.
Gruß
Axel
Anzeige
AW: Userform Unload funktioniert nicht
12.02.2020 09:11:28
Nepumuk
Hallo Axel,
das UnLoad Me muss vor dem Userform2.Show kommen.
Gruß
Nepumuk
AW: Userform Unload funktioniert nicht
12.02.2020 10:04:18
Axel
Hallo Nepumuk,
das funktioniert leider auch nicht.
Danke anyway.
Gruß
Axel
AW: Userform Unload funktioniert nicht
12.02.2020 10:37:52
ede
Hallo Axel,
da muss ich Nepumuk schon recht geben, vermutlich liegt dann Dein Problem an einer anderen Stelle.
Anbei mal ein einfaches Beispiel:
https://www.herber.de/bbs/user/135145.xlsm
gruss
ede
Anzeige
AW: Userform Unload funktioniert nicht
12.02.2020 11:00:45
Axel
Hi ede,
hm... ich sehe, bei Deiner Beispieldatei funktioniert es.
Dann muss ich mal schauen, woran es liegt.
Ich melde mich, wenn ich die Ursache gefunden habe.
Danke.
Axel
AW: Userform Unload funktioniert nicht
12.02.2020 10:59:10
Simon
Eventuell verhindert die Eigenschaft ShowModal = True beim Userform2, dass nach dessen Öffnen im Hintergrund weiter Code ausgeführt wird?
Anzeige
gelöst
12.02.2020 11:07:03
Axel
Aaaaaaa....
Simon, das war's!!!
Danke für den Tipp!
Beste Grüße
Axel
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Userform Unload in Excel VBA richtig nutzen


Schritt-für-Schritt-Anleitung

Um ein UserForm in Excel VBA korrekt zu entladen, befolge diese einfache Schritt-für-Schritt-Anleitung:

  1. Öffnen des VBA-Editors: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. UserForm erstellen: Füge ein neues UserForm hinzu, indem Du im Menü "Einfügen" auf "UserForm" klickst.

  3. Bilder hinzufügen: Platziere Bilder auf dem UserForm, die als Schaltflächen fungieren.

  4. Code für das Entladen: Implementiere den folgenden Code in das Click-Ereignis des Bildes:

    Private Sub Image1_Click()
       Application.ScreenUpdating = False
       strName = "Test" 'Speichert die Auswahl des Namens in einer Public Variable
       Unload UserForm1 'Entlade das aktuelle UserForm
       UserForm2.Show 'Zeige das zweite UserForm
    End Sub
  5. Testen: Starte Deine Excel-Datei und teste das UserForm, um sicherzustellen, dass das erste UserForm beim Öffnen des zweiten korrekt entladen wird.


Häufige Fehler und Lösungen

  • UserForm bleibt im Hintergrund: Wenn das erste UserForm nach dem Öffnen des zweiten weiterhin sichtbar bleibt, könnte es daran liegen, dass Du Unload Me an der falschen Stelle platziert hast. Stelle sicher, dass Unload UserForm1 vor dem UserForm2.Show steht, wie im Beispiel oben.

  • ShowModal-Eigenschaft: Wenn die Eigenschaft ShowModal auf True gesetzt ist, verhindert dies, dass der restliche Code im Hintergrund ausgeführt wird. Stelle sicher, dass Du diese Eigenschaft auf False setzt, um das Problem zu beheben.


Alternative Methoden

Wenn das Entladen eines UserForms nicht wie gewünscht funktioniert, kannst Du alternative Methoden in Betracht ziehen:

  • Hide vs. Unload: Anstatt das UserForm zu entladen, kannst Du es auch einfach ausblenden:

    Private Sub Image1_Click()
       UserForm1.Hide 'Blende das UserForm aus, anstatt es zu entladen
       UserForm2.Show
    End Sub

Diese Methode kann nützlich sein, wenn Du das UserForm später wieder anzeigen möchtest, ohne es neu zu laden.


Praktische Beispiele

Hier sind einige praktische Beispiele für das Entladen von UserForms:

  1. Einfaches Entladen:

    Private Sub CommandButton1_Click()
       Unload Me 'Entlade das aktuelle UserForm
    End Sub
  2. Entladen aller UserForms:

    Private Sub CommandButton2_Click()
       For Each frm In UserForms
           Unload frm 'Entlade alle UserForms
       Next frm
    End Sub

Diese Beispiele zeigen, wie Du verschiedene Methoden des Entladens in Excel VBA anwenden kannst.


Tipps für Profis

  • Verwende Unload Me: Achte darauf, in der richtigen Umgebung zu arbeiten. Der Befehl Unload Me ist nur wirksam, wenn Du Dich innerhalb des UserForms befindest.

  • Debugging: Nutze die Debugging-Funktionen im VBA-Editor, um die Ausführung deines Codes zu verfolgen. Das kann helfen, Probleme beim Entladen zu identifizieren.

  • Public Variablen: Stelle sicher, dass alle benötigten Variablen global oder public deklariert sind, um sie zwischen verschiedenen UserForms zu teilen.


FAQ: Häufige Fragen

1. Warum funktioniert Unload Me nicht?
Wenn Unload Me nicht funktioniert, könnte das an der Position im Code liegen. Es muss vor dem Show-Befehl des nächsten UserForms stehen.

2. Was ist der Unterschied zwischen Hide und Unload?
Hide blendet das UserForm nur aus, während Unload es aus dem Speicher entfernt. Verwende Unload, wenn Du den Speicher freigeben möchtest.

3. Kann ich alle UserForms auf einmal entladen?
Ja, Du kannst eine Schleife verwenden, um alle UserForms zu entladen, wie im praktischen Beispiel gezeigt.

4. Was passiert mit den Variablen, wenn ich ein UserForm entlade?
Alle nicht-öffentlichen Variablen in einem entladenen UserForm werden gelöscht. Stelle sicher, dass Du alle benötigten Daten in public Variablen speicherst, bevor Du das UserForm entlädst.

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