Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

UserForm schliessen über Button

Forumthread: UserForm schliessen über Button

UserForm schliessen über Button
26.08.2003 15:43:27
Peter
Hallo, weiß jemand mehr?

Ich habe folgenden Code für eine Userform:

'

Private Sub UserForm_Initialize()
' MsgBox ("Hallo")
'End Sub


'

Private Sub CommandButton1_Click()
' UserForm1.Hide
'End Sub


und möchte die geöffnete (UserForm.Show) UserForm über den CommandButton1 (UserForm.Hide) schliessen. Wenn ich die UserForm mit dem normalen Fenster-Schließ-Kreuz-Knöpfchen (oder auch Alt-F4) schliesse, dann wird beim nächsten Aufruf die "UserForm_Initialize-Prozedur" durchlaufen.
Schliesse ich dagegen die Form über den Button, so wird beim nächsten Aufruf die "UserForm_Initialize-Prozedur" NICHT durchlaufen. Woran liegt das? Ich möchte, daß die Ini-Prozedur grundsätzlich IMMER beim Aufruf durchlaufen wird.

Vielen Dank schon einmal im jetzt für eine Lösung

Gruß Peter
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm schliessen über Button
26.08.2003 15:46:14
ChrisL
Hi Peter

Hide blendet das UF lediglich aus ("unsichtbar"), wodurch das Initialize Ereignis nicht ausgeführt wird.

Load Userform1
Userform1.Show
Unload Userform1

Gruss
Chris
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

UserForm über Button in Excel VBA schließen


Schritt-für-Schritt-Anleitung

Um eine UserForm in Excel VBA über einen Button zu schließen, kannst du folgenden Code verwenden. Öffne den VBA-Editor (Alt + F11) und füge diesen Code in das entsprechende UserForm-Modul ein:

Private Sub CommandButton1_Click()
    Unload Me ' Schließt die UserForm
End Sub

Hierbei sorgt der Unload Me Befehl dafür, dass die UserForm vollständig geschlossen wird und beim nächsten Aufruf die UserForm_Initialize() Prozedur erneut durchlaufen wird.

Stelle sicher, dass du die UserForm über den Show Befehl öffnest:

UserForm1.Show

Häufige Fehler und Lösungen

  1. UserForm bleibt unsichtbar: Wenn du UserForm.Hide verwendest, bleibt die UserForm im Speicher, wodurch die UserForm_Initialize() Prozedur beim nächsten Aufruf nicht erneut ausgeführt wird. Verwende stattdessen Unload Me, um die Form zu schließen.

  2. Schließen über das Fenster-Kreuz: Wenn du die UserForm über das Schließen-Kreuz schließt, wird sie ebenfalls entladen. Um sicherzustellen, dass die Prozedur immer durchlaufen wird, solltest du die UserForm nur mit dem Unload Befehl schließen.


Alternative Methoden

Wenn du eine UserForm schließen möchtest, kannst du auch einen zusätzlichen Schließen-Button einfügen. Dies könnte wie folgt aussehen:

Private Sub CommandButton2_Click()
    Unload UserForm1 ' Hiermit wird die UserForm geschlossen
End Sub

Alternativ kannst du auch den Cancel Button in der UserForm nutzen, um die UserForm zu schließen:

Private Sub CommandButtonCancel_Click()
    Unload Me
End Sub

Praktische Beispiele

Hier ist ein Beispiel, wie du eine UserForm mit einem Schließen-Button erstellen kannst. Füge diesen Code in das UserForm-Modul ein:

Private Sub CommandButtonOK_Click()
    ' Hier können Aktionen ausgeführt werden
    Unload Me ' Schließt die UserForm
End Sub

Private Sub CommandButtonCancel_Click()
    Unload Me ' Schließt die UserForm
End Sub

Wenn du jetzt die UserForm öffnest und auf den OK- oder Cancel-Button klickst, wird die UserForm geschlossen und die UserForm_Initialize() Prozedur wird beim nächsten Öffnen erneut durchlaufen.


Tipps für Profis

  • Verwende den UserForm_Activate Event, um spezifische Aktionen auszuführen, wenn die UserForm aktiviert wird. So kannst du sicherstellen, dass bestimmte Daten immer aktuell sind.

  • Achte darauf, dass du die UserForm nicht nur versteckst, sondern immer mit Unload schließt, um Speicherlecks zu vermeiden.

  • Nutze den UserForm_QueryClose Event, um zusätzliche Logik auszuführen, wenn die UserForm geschlossen wird, beispielsweise um Benutzer zu fragen, ob sie ihre Änderungen speichern möchten.


FAQ: Häufige Fragen

1. Wie kann ich einen Schließen-Button auf meiner UserForm erstellen?
Du kannst einen CommandButton hinzufügen und im Click-Ereignis den Befehl Unload Me verwenden.

2. Warum wird UserForm_Initialize nicht ausgeführt, wenn ich die Form mit Hide schließe?
Weil Hide die UserForm nur unsichtbar macht. Verwende Unload Me, um die Form vollständig zu schließen und das Initialize-Ereignis beim nächsten Öffnen auszuführen.

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