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

Forumthread: UserForm Cancel Button

UserForm Cancel Button
12.02.2015 14:25:31
Thomas
Hallo zusammen,
ich möchte folgendes realisieren:
If "Nächstes Feld" = "Button Cancel" then Exit Sub
Mein Problem ist, dass ich einige Felder mittels "Exit"-Ereignis überprüfe. Wenn nun aus einem solchen Feld auf den "Button Cancel" gewechselt wird, wird die Überprüfung noch ausgeführt. Dadurch wird ggf. eine msgbox aktiviert, die der User zuerst schliessen muss!
Ich will jedoch, dass sofort beendet wird.
Danke vorab.
Code im "Button Cancel":
Private Sub BU_Cancel_Click()
End
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm Cancel Button
12.02.2015 14:30:36
yummi
Hallo Thomas,
anstatt End
Unload Me
Gruß
yummi

AW: UserForm Cancel Button
12.02.2015 15:50:06
Thomas
Hallo yummi,
dein Vorschlag hat mein Problem leider nicht gelöst. Die Funtion "End" hat das Makro schon beendet. Mein Problem ist, dass das "Exit" Ereignis des aktuellen Feldes noch ausgeführt wird wenn jemand auf den Button "Cancel" klickt.
Das bedeutet, ich will in alle "Exit" Ereignisse eine If-Abfrage einfügen, die das "Exit" Ereignis abbricht wenn der nächste (angeklickte) Button der "Cancel" Button ist.
mfg
Thomas

Anzeige
das wird nicht gehen...
12.02.2015 18:06:13
Tino
Hallo,
weil Exit ausgeführt wird bevor ein anderes Control den Fokus bekommt.
Du müsstest dir für die Prüfung ein anders Ereignis suchen.
Gruß Tino

AW: das wird nicht gehen...
13.02.2015 08:31:13
Thomas
Hallo Tino,
Ich habe gehofft, dass man auswerten kann auf welchen Button gewechselt wird.
Wenn das nicht geht muss ich meinen Code wohl umstricken.
Trotzdem Danke.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

UserForm Cancel Button in Excel VBA


Schritt-für-Schritt-Anleitung

Um einen funktionierenden Cancel Button in einer Excel VBA UserForm zu erstellen, befolge diese Schritte:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel (ALT + F11).

  2. Erstelle eine neue UserForm, wenn du noch keine hast.

  3. Füge einen Button hinzu und nenne ihn BU_Cancel.

  4. Klicke mit der rechten Maustaste auf den Button und wähle „Code anzeigen“.

  5. Füge den folgenden Code in die Click-Ereignisprozedur des Cancel Buttons ein:

    Private Sub BU_Cancel_Click()
       Unload Me
    End Sub
  6. Um sicherzustellen, dass das Exit-Ereignis des aktuellen Feldes nicht ausgeführt wird, füge in jedes relevante Exit-Ereignis eine If-Abfrage ein, die überprüft, ob der Fokus auf dem Cancel Button liegt. Zum Beispiel:

    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
       If Me.ActiveControl.Name = "BU_Cancel" Then
           Cancel = True
       End If
    End Sub

Häufige Fehler und Lösungen

  • Fehler: Der Cancel Button schließt die UserForm nicht.

    • Lösung: Stelle sicher, dass du Unload Me in der Click-Ereignisprozedur verwendest, anstelle von End.
  • Fehler: Die MsgBox wird weiterhin angezeigt.

    • Lösung: Überprüfe deine Exit-Ereignisse. Füge eine Abfrage hinzu, um sicherzustellen, dass der Benutzer nicht auf den Cancel Button wechselt, bevor das Exit-Ereignis abgeschlossen ist.

Alternative Methoden

Es gibt verschiedene Ansätze, um den Cancel Button in VBA zu implementieren:

  • VBA UserForm Exit Button: Anstatt einen Cancel Button zu verwenden, kannst du einen Exit Button erstellen, der einfach die UserForm schließt.

  • Ok/Cancel Dialog: Verwende die MsgBox Funktion, um dem Benutzer die Möglichkeit zu geben, die Aktion zu bestätigen oder abzubrechen.

    If MsgBox("Möchten Sie die Änderungen wirklich abbrechen?", vbYesNo) = vbYes Then
       Unload Me
    End If

Praktische Beispiele

Hier sind einige praktische Szenarien, in denen du einen VBA Cancel Button verwenden kannst:

  • Formular für Benutzerdaten: Bei der Eingabe von Informationen in ein Formular kann der Benutzer auf den Cancel Button klicken, um die Eingabe abzubrechen und die UserForm zu schließen.

  • Bestätigungsdialog: Wenn eine kritische Aktion ausgeführt werden soll, kann ein Cancel Button in einem Bestätigungsdialog verwendet werden, um die Aktion abzubrechen.


Tipps für Profis

  • Nutze die VBA Cancel Button-Logik in Kombination mit anderen Steuerelementen, um eine benutzerfreundliche Erfahrung zu schaffen.
  • Implementiere Error Handling, um sicherzustellen, dass unerwartete Fehler beim Schließen der UserForm behandelt werden.
  • Teste deine UserForm gründlich, um sicherzustellen, dass alle Exit-Ereignisse und Buttons wie gewünscht funktionieren.

FAQ: Häufige Fragen

1. Wie kann ich den Cancel Button in einer HTML-Anwendung verwenden?
In HTML kannst du einen Cancel Button mit einer einfachen Form realisieren, indem du die onclick-Eigenschaft verwendest, um die Form zu schließen oder zu einer vorherigen Seite zurückzukehren.

2. Was ist der Unterschied zwischen Unload Me und End?
Unload Me schließt die UserForm und gibt den Speicher frei, während End das gesamte Makro stoppt. Daher ist Unload Me die empfohlene Methode für einen Cancel Button in einer UserForm.

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