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

Forumthread: Abbrechen Button

Abbrechen Button
10.03.2005 20:08:27
bastian
Hi,
ich hab noch eine wahrscheinlich banale Frage:
Ich möchte in einer Userform eine "Abbrechen" Schaltfläche einfügen. Gibt es eine Möglichkeit direkt auf Mausklick das Makro zu unterbrechen ? Eventuell noch eine Sicherheitsabfrage einzufügen, per MsgBox sowas wie "Wollen Sie wirklich abbrechen ?" und Zwei "Ja" und "Nein" Buttons ?
Hat jemand einen Tipp dazu ?
Gruss und Dank,
Bastian
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abbrechen Button
10.03.2005 20:31:31
Ramses
Hallo
"VBA gut"
Bist du da sicher ;-) ?
Den Code deiner Schaltfläche zuweisen
Dim Qe as Integer
Qe = Msgbox("Wollen Sie wirklich abbrechen ?", vbQuestion+VbYesNo,"Rückfrage")
If Qe = vbNo Then
Exit Sub
End If
Gruss Rainer
AW: Abbrechen Button
10.03.2005 22:10:31
bastian
Hi Rainer,
in der Tat "VBA gut" - denn ich habe es in der Zwischenzeit selbst geschafft. Ich hatte in die falsche Richtung gedacht, denke mich gerade erst wieder in VB ein. Trotzdem vielen Dank !
Gruss Bastian
Anzeige
AW: Abbrechen Button
10.03.2005 22:31:27
bastian
Hi,
eine Sache hatte ich noch vergessen und noch nicht zufriedenstellend gelöst. Ich beende die Prozedur durch folgenden Code:
If CommandButton1.Tag = "cancel" Then
Rückgabewert = MsgBox("Wollen Sie wirklich abbrechen ?", vbYesNo, "Bestätigung")
If Rückgabewert = "6" Then
UserForm1.Hide !!!?
Exit Sub
End If
End If
Meine Frage betrifft das Schliessen der UserForm, ich habe nur .hide als Methode gefunden, sowas wie .close wäre mir lieber, das gibts aber nicht und mit hide verstecke ich es ja nur, beim wiederstarten der UserForm stehen dann noch alle alten Werte drin, das will ich nicht, ich will sie entgültig abschiessen. Kann mir jemand helfen ?
Gruss & dank,
Bastian
Anzeige
AW: Abbrechen Button
10.03.2005 22:59:09
Bert
If CommandButton1.Tag = "cancel" Then
Rückgabewert = MsgBox("Wollen Sie wirklich abbrechen ?", vbYesNo, "Bestätigung")
If Rückgabewert = "6" Then
Unload Me
Exit Sub
End If
End If
Bert
AW: Abbrechen Button
10.03.2005 23:08:14
bastian
SUPER, DANKE !
Gruss B.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Abbrechen Button in Excel Userform erstellen


Schritt-für-Schritt-Anleitung

  1. Userform erstellen:

    • Öffne den VBA-Editor in Excel (Alt + F11).
    • Füge eine neue Userform ein (Rechtsklick auf "VBAProject" -> "Einfügen" -> "Userform").
  2. Abbrechen Button hinzufügen:

    • Ziehe eine Schaltfläche (CommandButton) auf die Userform.
    • Benenne die Schaltfläche um (z.B. "cmdAbbrechen").
  3. Code für den Abbrechen Button:

    • Klicke doppelt auf die Schaltfläche, um das Codefenster zu öffnen.
    • Füge folgenden Code ein:
    Private Sub cmdAbbrechen_Click()
       Dim Rückgabewert As Integer
       Rückgabewert = MsgBox("Wollen Sie wirklich abbrechen?", vbYesNo + vbQuestion, "Bestätigung")
       If Rückgabewert = vbYes Then
           Unload Me  ' Schließt die Userform
       End If
    End Sub

    Damit wird bei einem Mausklick auf die "Abbrechen" Schaltfläche eine Sicherheitsabfrage angezeigt. Bei Bestätigung wird die Userform vollständig geschlossen (unload).


Häufige Fehler und Lösungen

  • Problem: Userform wird nur versteckt (hide) und nicht geschlossen.

    • Lösung: Stelle sicher, dass du Unload Me verwendest, um die Userform wirklich zu schließen.
  • Problem: Sicherheitsabfrage erscheint nicht.

    • Lösung: Überprüfe, ob der Code im richtigen Sub (z.B. cmdAbbrechen_Click) eingefügt wurde.

Alternative Methoden

Eine weitere Möglichkeit, um den Abbrechen Button zu implementieren, ist die Verwendung von Cancel-Eigenschaften:

  • Setze die Cancel-Eigenschaft des CommandButtons auf True.
  • Das schließt die Userform beim Drücken von "Esc".
Private Sub UserForm_Initialize()
    cmdAbbrechen.Cancel = True
End Sub

Praktische Beispiele

Hier ein einfaches Beispiel, wie du das Abbrechen Button in einer Userform verwenden kannst:

Private Sub cmdStart_Click()
    ' Irgendeine Aktion
End Sub

Private Sub cmdAbbrechen_Click()
    Dim Rückgabewert As Integer
    Rückgabewert = MsgBox("Wollen Sie wirklich abbrechen?", vbYesNo + vbQuestion, "Bestätigung")
    If Rückgabewert = vbYes Then
        Unload Me
    End If
End Sub

In diesem Beispiel wird ein Start Button hinzugefügt. Wenn du die Userform abbrichst, wird der Vorgang gestoppt.


Tipps für Profis

  • Nutze die Möglichkeit, mehrere Abbrechen Schaltflächen in verschiedenen Userforms zu verwenden, indem du den gleichen Code in jede Userform überträgst.
  • Überlege, ob du die Userform bei einem Abbruch zurücksetzen möchtest. Dafür könntest du die Eingabefelder in der Userform zurücksetzen, bevor du Unload Me verwendest.

FAQ: Häufige Fragen

1. Wie kann ich die Schaltfläche auch über die Escape-Taste abbrechen?
Setze die Cancel-Eigenschaft des Abbrechen Buttons auf True. So wird die Userform auch geschlossen, wenn die Escape-Taste gedrückt wird.

2. Kann ich die Abbrechen Schaltfläche anpassen?
Ja, du kannst das Design der Schaltfläche ändern, indem du die Eigenschaften in der Eigenschaftenleiste im VBA-Editor anpasst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige