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

Forumthread: MsgBox yesnocancel

MsgBox yesnocancel
06.03.2014 23:49:20
Jens
Hallo Leute,
ich hab da mal ne Frage zur MsgBox.
Ich steh irgendwie auf dem Schlauch.
Ich möchte eine Frage stelle und per Msgbox beantworten lassen.
Es soll wenn ja geklickt wird eine Zahl in Listbox1 geschrieben werden, bei bei nein in listbox2 und bei abbrechen soll halt nichts passieren.
ja und nein klappt schon nur abbbrechen ist wie nein.
Ich kriegs nicht hin. Hat jemand eine Idee oder vielleicht ein Bsp. wie ich die einzelnen button ansprechen muss.
Vielen Dank im vorraus

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
vbYesNoCancel
07.03.2014 00:10:23
Matthias
Hallo
Dim Rueckgabe
Rueckgabe = MsgBox("Eingabe bitte", vbYesNoCancel)
MsgBox Rueckgabe
oder direkt so:
MsgBox (MsgBox("Eingabe bitte", vbYesNoCancel))
Prinzip verstanden ?
Einfach den Rückgabewert auswerten und verarbeiten
Gruß Matthias

Anzeige
AW: vbYesNoCancel
07.03.2014 00:25:43
Jens
Hallo Matthias,
nicht wirklich verstanden.
Bei mir sieht das im Moment so aus.
If MsgBox("Selbst erledigt?", vbYesNoCancel + vbQuestion, "Selbst erledigt?") = vbYes Then
.....
elseif vbno then
.....
end if

schau meinen 2. Beitrag ... owT
07.03.2014 00:43:11
Matthias

so ist es evtl einfacher zu verstehen ...
07.03.2014 00:23:32
Matthias
Hallo
Sub test()
Select Case MsgBox("Klick Button, bitte", vbYesNoCancel)
Case vbYes
MsgBox "Ja gedrückt"
Case vbNo
MsgBox "Nein gedrückt"
Case vbCancel
MsgBox "Abbrechen oder Schließen gedrückt"
End Select
End Sub
Gruß Matthias

Anzeige
AW: so ist es evtl einfacher zu verstehen ...
07.03.2014 01:01:03
Jens
Danke Matthias.
Genau das war es.
Super.

Danke für Deine Rückmeldung ... owT
07.03.2014 01:11:25
Matthias
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

MsgBox mit Yes, No und Cancel in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine MsgBox in Excel VBA mit den Optionen Yes, No und Cancel zu erstellen, folge diesen Schritten:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11 in Excel.
  2. Erstelle ein neues Modul:

    • Klicke mit der rechten Maustaste im Projekt-Explorer auf dein Projekt und wähle Einfügen > Modul.
  3. Füge den Code ein:

    • Verwende den folgenden VBA-Code, um eine MsgBox zu erstellen:
    Sub TestMsgBox()
       Dim Rueckgabe As Integer
       Rueckgabe = MsgBox("Möchten Sie fortfahren?", vbYesNoCancel + vbQuestion, "Bestätigung")
    
       Select Case Rueckgabe
           Case vbYes
               MsgBox "Sie haben Ja gewählt."
           Case vbNo
               MsgBox "Sie haben Nein gewählt."
           Case vbCancel
               MsgBox "Aktion abgebrochen."
       End Select
    End Sub
  4. Führe das Makro aus:

    • Drücke F5 oder klicke auf Ausführen, um das Makro zu starten.

Häufige Fehler und Lösungen

  • Problem: MsgBox reagiert nicht wie erwartet, z.B. Cancel wird als No behandelt.

    • Lösung: Stelle sicher, dass du die Rückgabewerte korrekt auswertest. Überprüfe die Logik in deinem Select Case oder If...ElseIf-Block.
  • Problem: Fehlermeldung beim Ausführen des Codes.

    • Lösung: Überprüfe, ob die Syntax korrekt ist und dass alle erforderlichen Variablen deklariert wurden.

Alternative Methoden

Anstelle einer MsgBox kannst du auch ein InputBox verwenden, um Benutzereingaben zu sammeln. Hier ist ein einfaches Beispiel, das eine Ja/Nein-Abfrage simuliert:

Sub InputBoxExample()
    Dim Antwort As String
    Antwort = InputBox("Geben Sie 'Ja' oder 'Nein' ein:", "Eingabe erforderlich")

    If Antwort = "Ja" Then
        MsgBox "Sie haben Ja eingegeben."
    ElseIf Antwort = "Nein" Then
        MsgBox "Sie haben Nein eingegeben."
    Else
        MsgBox "Ungültige Eingabe."
    End If
End Sub

Praktische Beispiele

Hier sind einige Anwendungsbeispiele für die MsgBox mit Yes, No und Cancel:

  • Bestätigung vor dem Löschen:

    If MsgBox("Möchten Sie diese Zeile löschen?", vbYesNoCancel + vbExclamation, "Löschen bestätigen") = vbYes Then
      ' Code zum Löschen der Zeile
    End If
  • Datenspeicherung:

    If MsgBox("Möchten Sie die Änderungen speichern?", vbYesNoCancel, "Speichern") = vbYes Then
      ' Code zum Speichern der Daten
    End If

Tipps für Profis

  • Verwende die Konstanten vbYes, vbNo und vbCancel, um den Code lesbarer zu gestalten.
  • Du kannst die MsgBox anpassen, indem du verschiedene Symbole und Schaltflächen hinzufügst, z.B. vbInformation, vbCritical.
  • Nutze Application.DisplayAlerts = False, um Excel-Warnungen temporär zu deaktivieren, wenn du mehrere MsgBoxen in einer Schleife verwendest.

FAQ: Häufige Fragen

1. Wie kann ich die MsgBox so gestalten, dass sie nur die Schaltflächen Ja und Abbrechen enthält? Du kannst die MsgBox mit vbYesNoCancel erstellen und einfach den vbNo-Fall ignorieren.

2. Was passiert, wenn der Benutzer auf das Schließen-Symbol der MsgBox klickt? Das Verhalten hängt von der Implementierung ab. Wenn du vbYesNoCancel verwendest, behandelt die MsgBox das Schließen als Cancel.

3. Kann ich eigene Texte für die Schaltflächen verwenden? Leider sind die Texte der Standard-Schaltflächen in der MsgBox nicht anpassbar. Du kannst jedoch benutzerdefinierte Formulare erstellen, um mehr Kontrolle über das Design zu haben.

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