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

Forumthread: MsgBox "ja" "abbrechen"

MsgBox "ja" "abbrechen"
20.11.2004 19:22:14
Korl
Hallo,
bevor ein Makro ausgeführt wird hätte ich gerne eine MsgBox mit der Abfarge ja/abbrechen.
Wie muß ich den Code schreiben das, das nachfolgende Makro wirklich abgebrochen wird.
Kann mir jemand helfen?
Gruß Korl
PS: Mit der Recherche habe ich mich schon beschäftigt, aber nichts gefunden.
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MsgBox "ja" "abbrechen"
20.11.2004 19:25:13
Hajo_Zi
Hallo Korl,
Ja und Abbrechen gibt es nicht. Nur Ok und Abrechen (vbOKCancel)
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Anzeige
AW: MsgBox "ja" "abbrechen"
20.11.2004 19:25:25
Josef
Hallo Korl!
ZB. so.

Sub test()
Dim strFrage As String
strFrage = MsgBox("Weitermachen?", vbOKCancel + vbQuestion, "Frage")
If strFrage = vbCancel Then Exit Sub
'weiterer Code
End Sub

Gruß Sepp
AW: MsgBox "ja" "abbrechen"
20.11.2004 19:42:02
Korl
Hallo,
ja... Entschuldigung, ich meinte natürlich die MsgBox "OK" "Abbrechen".
Mit dem Button "Abbrechen" soll dann auch der nachfolgende Code, abgebrochen werden.
Hallo Sepp, habe es mit Deinem Code versucht - ist mir aber noch nicht gelungen.
Gruß Korl
Anzeige
AW: MsgBox "ja" "abbrechen"
20.11.2004 19:43:58
Josef
Hallo Korl!
Dann hast du was Falsch gemacht!
Kannst du den kompletten Code posten?
Gruß Sepp
AW: MsgBox "ja" "abbrechen"
20.11.2004 19:55:12
Korl
Hallo Sepp,
es funktioniert in soweit, dass ich nur den Button "OK" in der MsgBox zur Verfügung habe.
Ich möchte aber den Button "Abbrechen" der dann auch wirklich abbricht.
Ich kann den Code auch noch hier reinstellen. Dauert nur ein bischen, da ich ganze auf meinem Notbook habe.
Gruß Korl
Anzeige
AW: MsgBox "ja" "abbrechen"
20.11.2004 20:08:11
Korl
Hallo Sepp,
so sieht mein Code aus:

Sub Jahreswechsel()
' Jahreswechsel Makro
' Makro am 20.11.04 von Korl aufgezeichnet
Dim strFrage As String
strFrage = MsgBox("Wollen Sie wirklich ein Jahreswechsel?", vbOKChancel + vbQuestion, "Frage")
If strFrage = vbChancel Then Exit Sub
Application.Run "Kehrbezirkseinteilung.xls!alle_Daten_zeigen"
Range("D2:D1001").Select
Selection.Copy
ActiveWindow.SmallScroll Down:=-85
Application.Run "Kehrbezirkseinteilung.xls!gehe_zur_ersten_Zeile"
Range("G2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("D3").Select
Application.CutCopyMode = False
End Sub

Kannst Du damit etwas anfangen?
Gruß Korl
Anzeige
AW: MsgBox "ja" "abbrechen"
20.11.2004 20:30:54
Josef
Hallo Korl!
Es heist "vbOKCancel" und nicht "vbOKChancel"
Wenn du Option Explicit verwenden würdest, dann wäre es auch dir aufgefallen!
Gruß Sepp
AW: MsgBox "ja" "abbrechen"
Korl
Hallo Sepp,
oh, oh - wie blamabel für mich.
Ich danke Dir Sepp, Du hast mir sehr geholfen.
Gruß Korl
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

MsgBox in Excel VBA: Ja/Abbrechen implementieren


Schritt-für-Schritt-Anleitung

Um eine MsgBox mit den Optionen "OK" und "Abbrechen" in Excel VBA zu erstellen, folge diesen Schritten:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel. Dies kannst du tun, indem du ALT + F11 drückst.

  2. Erstelle ein neues Modul: Klicke auf Einfügen > Modul.

  3. Füge den folgenden Code ein:

    Sub BeispielMsgBox()
       Dim strFrage As String
       strFrage = MsgBox("Möchten Sie fortfahren?", vbOKCancel + vbQuestion, "Bestätigung")
       If strFrage = vbCancel Then Exit Sub
       ' Hier folgt der nachfolgende Code
    End Sub
  4. Ersetze die Nachricht und den Titel nach Deinen Wünschen.

  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus, um die MsgBox anzuzeigen.


Häufige Fehler und Lösungen

  • Fehler: Falsches MsgBox-Argument: Achte darauf, dass du vbOKCancel und nicht vbOKChancel verwendest. Dies führt oft zu Verwirrung und Fehlern im Code.
  • Lösung: Verwende immer Option Explicit am Anfang Deiner Module. Das hilft, Tippfehler zu vermeiden, da es sicherstellt, dass alle Variablen deklariert sind.

Alternative Methoden

Wenn du alternative Dialogfelder in Excel VBA verwenden möchtest, kannst du die UserForm-Funktion nutzen. Dies ermöglicht mehr Anpassungsmöglichkeiten:

  1. Füge eine UserForm hinzu: Klicke auf Einfügen > UserForm.
  2. Gestalte Dein Formular mit Schaltflächen für "Ja" und "Abbrechen".
  3. Verknüpfe das Formular mit Deinem Makro.

Praktische Beispiele

Hier ist ein praktisches Beispiel, das die MsgBox mit dem Abbrechen-Button demonstriert:

Sub Jahreswechsel()
    Dim strFrage As String
    strFrage = MsgBox("Wollen Sie wirklich einen Jahreswechsel durchführen?", vbOKCancel + vbQuestion, "Jahreswechsel")
    If strFrage = vbCancel Then Exit Sub
    ' Hier folgt der Code zum Durchführen des Jahreswechsels
End Sub

Dieser Code zeigt eine MsgBox mit der Frage, ob der Benutzer fortfahren möchte. Bei Auswahl von "Abbrechen" wird das Makro gestoppt.


Tipps für Profis

  • Nutze kontextbezogene Meldungen in Deinen MsgBoxen, um klarere Entscheidungen für den Nutzer zu bieten.
  • Implementiere Fehlerbehandlung in Deinen Makros, um unerwartete Abbrüche zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich eine MsgBox mit "Ja" und "Nein" erstellen?
In Excel VBA gibt es keine native MsgBox mit "Ja" und "Nein". Du kannst stattdessen vbYesNo verwenden, um diese Funktionalität zu simulieren.

2. Wie kann ich die MsgBox anpassen?
Die MsgBox kann durch verschiedene Argumente wie vbInformation, vbExclamation usw. angepasst werden, um unterschiedliche Icons und Schaltflächen zu zeigen.

3. Was kann ich tun, wenn die MsgBox nicht erscheint?
Überprüfe Deinen Code auf Tippfehler und stelle sicher, dass das Makro korrekt aufgerufen wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige