ich habe eine userform. Wenn ich die schliesse (Unload me) oder wenn der user das X klickt, soll noch eine Funktion ausgeführt werden.
Gibt es für das schliessen ein Ereignis, wo ich meine Funktion eintragen kann ?
Danke mal Joachim
Um eine Funktion auszuführen, wenn eine UserForm in Excel geschlossen wird, kannst du das QueryClose
-Ereignis nutzen. Hier ist die Schritt-für-Schritt-Anleitung:
Öffne den Visual Basic for Applications (VBA) Editor:
ALT + F11
, um den VBA-Editor zu öffnen.Navigiere zu Deiner UserForm:
Füge den Code für das QueryClose
-Ereignis hinzu:
Private Sub UserForm_QueryClose(Cancel As Integer)
' Deine Funktion hier einfügen
Call DeineFunktion
End Sub
DeineFunktion
mit dem Namen der Funktion, die du ausführen möchtest.Teste die UserForm:
Fehler: Die Funktion wird nicht aufgerufen:
Fehler: UserForm schließt nicht richtig:
QueryClose
-Ereignis der Parameter Cancel
nicht auf True
gesetzt wird, wenn du das Schließen der Form nicht verhindern möchtest.Eine andere Möglichkeit, eine Funktion beim Schließen einer UserForm auszuführen, ist die Verwendung des Terminate
-Ereignisses. Dieses wird aufgerufen, wenn die UserForm vollständig geschlossen wird.
Private Sub UserForm_Terminate()
' Deine Funktion hier einfügen
Call DeineFunktion
End Sub
Hier sind einige praktische Beispiele, wie du das QueryClose
-Ereignis nutzen kannst:
Speichere Daten, bevor die UserForm geschlossen wird:
Private Sub UserForm_QueryClose(Cancel As Integer)
Call SpeichereDaten
End Sub
Melde eine Aktion an den Benutzer:
Private Sub UserForm_QueryClose(Cancel As Integer)
MsgBox "Die UserForm wird geschlossen."
Call DeineFunktion
End Sub
Verwende Cancel
: Wenn du das Schließen der UserForm unter bestimmten Bedingungen verhindern möchtest, setze Cancel = True
im QueryClose
-Ereignis.
Debugging: Nutze Debug.Print
innerhalb deiner Funktion, um den Status oder Fehler beim Schließen zu überprüfen.
1. Frage
Wie kann ich mehrere Funktionen beim Schließen der UserForm ausführen?
Antwort: Du kannst einfach mehrere Funktionsaufrufe im QueryClose
-Ereignis hinzufügen, z.B.:
Call Funktion1
Call Funktion2
2. Frage
Ist das QueryClose
-Ereignis in allen Excel-Versionen verfügbar?
Antwort: Ja, das QueryClose
-Ereignis ist in allen gängigen Excel-Versionen verfügbar, die VBA unterstützen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen