UserForm in Excel richtig schließen
Schritt-für-Schritt-Anleitung
Um eine UserForm in Excel korrekt zu schließen, insbesondere wenn das Excel rotes Kreuz verwendet wird, kannst Du das folgende Vorgehen nutzen:
-
Öffne den VBA-Editor: Drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Wähle Deine UserForm aus: Doppelklicke auf Deine UserForm in der Projektansicht.
-
Füge das Ereignis UserForm_QueryClose
hinzu: Gehe zum Code-Bereich der UserForm und füge den folgenden Code ein:
Private Sub UserForm_QueryClose(Cancel As Integer)
If CloseMode = vbFormCode Then
Cancel = True
Me.Hide
End If
End Sub
-
Teste die UserForm: Schließe die UserForm über das rote Kreuz, um sicherzustellen, dass sie sich jetzt wie gewünscht verhält.
Dieser Code stellt sicher, dass beim Schließen der UserForm über das rote X kein Druckbefehl ausgeführt wird.
Häufige Fehler und Lösungen
Alternative Methoden
Falls Du eine andere Methode bevorzugst, kannst Du auch den Unload
-Befehl verwenden:
Private Sub btnClose_Click()
Unload Me
End Sub
Hierbei wird die UserForm direkt entladen, ohne die Abfrage über das rote Kreuz.
Praktische Beispiele
Hier ist ein einfaches Beispiel für eine UserForm, die ein Textfeld und zwei Buttons (OK und Abbrechen) enthält:
- Erstelle eine UserForm mit einem Textfeld (
TextBox1
) und zwei Schaltflächen (btnOK
, btnCancel
).
- Implementiere den
UserForm_QueryClose
-Code wie oben.
-
Füge den folgenden Code für den OK-Button hinzu:
Private Sub btnOK_Click()
' Druckbefehl hier, z.B.:
If TextBox1.Value <> "" Then
' Beispielsweise drucken
End If
Unload Me
End Sub
Tipps für Profis
- Verwende
Me.Hide
: Dies zeigt die UserForm nicht mehr an, anstatt sie zu schließen, was nützlich sein kann, wenn Du die Daten später wieder verwenden möchtest.
- Ereignisse nutzen: Du kannst auch weitere Ereignisse wie
UserForm_Terminate
oder UserForm_Activate
verwenden, um spezifische Aktionen beim Schließen oder Aktivieren der Form durchzuführen.
- Windows 11 spezifische Anpassungen: Wenn Du mit Windows 11 arbeitest, stelle sicher, dass die Benutzeroberfläche Deiner UserForm an die modernen Designs angepasst ist.
FAQ: Häufige Fragen
1. Wie kann ich das rote Kreuz in meiner UserForm deaktivieren?
Du kannst die Eigenschaft ControlBox
der UserForm auf False
setzen, um das rote Kreuz zu entfernen.
2. Was mache ich, wenn meine UserForm nicht reagiert?
Überprüfe, ob es laufende Prozesse oder Schleifen in Deinem Code gibt, die das Schließen der UserForm verhindern.
3. Ist dieser Code in jeder Excel-Version anwendbar?
Ja, die beschriebenen Methoden sind für alle gängigen Excel-Versionen ab 2007 anwendbar, einschließlich Excel in Windows 11.