Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: UserForm schließen mit rotem Kreuz

UserForm schließen mit rotem Kreuz
Frank
Guten Morgen Forum,
ich habe eine kurzes Anliegen: Ich habe eine UserForm in der ein Textfeld ist. Standardmäßig steht dort eine 1 drin. Nun gibt es einen OK Button und einen Abbrechen Button. Bei OK wird gedruckt in Abhängigkeit der Zahl in TextBox1 bei Abbrechen passiert nix.
Nun zur Frage: Jede UserForm besitzt oben links das kleine rote Kreuz womit ich den Dialog ebenfalls schließe. Blöderweise druckt es mit dann trotzdem was aus - standardmäßig das Dokument 1 mal. Wie kann ich das verhindern bzw. das besagte Kreuz ansprechen?
Vielen Dank und viele Grüße,
Frank
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: UserForm schließen mit rotem Kreuz
09.05.2011 10:09:13
Tino
Hallo,
schau Dir mal das Ereignis UserForm_QueryClose an.
Wenn die Form übers Schließenkreutz geschlossen wird, hat CloseMode den Wert 0.
Gruß Tino
Anzeige
;

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 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:

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

  2. Wähle Deine UserForm aus: Doppelklicke auf Deine UserForm in der Projektansicht.

  3. 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
  4. 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

  • Problem: Nach dem Schließen mit dem roten Kreuz wird trotzdem etwas gedruckt.

    • Lösung: Stelle sicher, dass Du das oben genannte Ereignis UserForm_QueryClose korrekt implementiert hast. Das Setzen von Cancel = True verhindert das Standardverhalten.
  • Problem: Die UserForm schließt nicht.

    • Lösung: Überprüfe, ob es andere Abfragen oder Bedingungen gibt, die das Schließen der UserForm verhindern.

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:

  1. Erstelle eine UserForm mit einem Textfeld (TextBox1) und zwei Schaltflächen (btnOK, btnCancel).
  2. Implementiere den UserForm_QueryClose-Code wie oben.
  3. 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.

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