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

Forumthread: MsgBox mit Standard "Nein"

MsgBox mit Standard "Nein"
Markus
Hallo,
im ganzen Archiv fand ich leider nix.
MsgBox ist ja kein Problem, aber ...
ich möchte den "Nein-Knopf" als Standard.
(So kann ich vermeiden, dass jemand mit der OK-Taste den Ja-Befehl auslöst).
Danke für Antwort
Markus
Sub test()
' der Nein Button soll Standard sein!
If MsgBox("Ja, oder nein", vbYesNo, vbDefaultButton1) = vbYes Then
MsgBox "Ja"
Else
MsgBox "Nein"
End If
End Sub

Anzeige

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

Betreff
Benutzer
Anzeige
AW: MsgBox mit Standard "Nein"
04.08.2010 10:02:21
Holger
Hallo,
probiere mal folgendes aus.
Bei vbYesNo erhält defaultmäßig immer JA den Vorrang.
Wenn du das nicht möchtest, vielleicht geht das:
Buttons:=vbYesNo + vbDefaultButton2
Jetzt sollte der Default auf Button 2, also NO gesetzt werden.
Wenn du vbyesnocancel hast und den default auf cancel möchtest,
musst du vbdefaultButton3 nehmen.
Anzeige
AW: MsgBox mit Standard "Nein"
04.08.2010 10:11:33
Romberg
Hallo,
das Komma ist falsch:
If MsgBox("Ja, oder nein", vbYesNo + vbDefaultButton2) = vbYes Then

AW: MsgBox mit Standard "Nein"
04.08.2010 10:14:19
Holger
Stimmt, ich hatte es für ihn aus meinem Buch abgetippt und mich vertippt ;)
AW: MsgBox mit Standard "Nein"
04.08.2010 10:04:15
ing.grohn
Hallo Markus,
hier die MsgBox-Hilfe:
https://www.herber.de/bbs/user/70883.jpg
Albrecht
Anzeige
Beispielfunktion der Excel-Hilfe
04.08.2010 10:19:25
Matthias
Hallo Markus
Zitat aus der Hilfe (XL2000) in XL2003 sicher gleich
MsgBox-Funktion (Beispiel)
In diesem Beispiel wird die MsgBox-Funktion verwendet, um eine Meldung zu einem schwerwiegenden Fehler in einem Dialogfeld mit den Schaltflächen Ja und Nein anzuzeigen. Nein ist dabei die Voreinstellung. Der von MsgBox gelieferte Wert hängt von der Schaltfläche ab, die der Benutzer wählt. Im Rahmen dieses Beispiels wird angenommen, daß DEMO.HLP eine Hilfedatei ist, in der ein Thema mit der Kontextnummer 1000 vorhanden ist.
Dim Mldg, Stil, Titel, Hilfe, Ktxt, Antwort, Text1
Mldg = "Möchten Sie fortfahren ?" ' Meldung definieren.
Stil = vbYesNo + vbCritical + vbDefaultButton2 ' Schaltflächen
' definieren.
Titel = "MsgBox-Demonstration" ' Titel definieren.
Hilfe = "DEMO.HLP" ' Hilfedatei
' definieren.
Ktxt = 1000 ' Kontext für Thema
' definieren.
Antwort = MsgBox(Mldg, Stil, Titel, Hilfe, Ktxt) ' Meldung anzeigen.
If Antwort = vbYes Then ' Benutzer hat "Ja"
' gewählt.
Text1 = "Ja" ' Operation ausführen.
Else ' Benutzer hat "Nein"
' gewählt.
Text1 = "Nein" ' Operation ausführen.
End If
mit ein bisschen Eigeninitiative hätte man das auch selbst lösen können ;o)
Gruß Matthias
Anzeige
...So ist es! Jeder bl... sich halt so gut...
04.08.2010 20:09:31
Luc:-?
…er kann, Matthias… ;->>
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

MsgBox mit Standard "Nein" in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Erstelle ein neues Modul: Gehe zu Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code ein:

    Sub test()
       ' Der Nein-Knopf soll Standard sein!
       If MsgBox("Ja, oder nein", vbYesNo + vbDefaultButton2) = vbYes Then
           MsgBox "Ja"
       Else
           MsgBox "Nein"
       End If
    End Sub
  4. Führe das Skript aus: Drücke F5 oder wähle Ausführen > Sub/UserForm ausführen, um das Skript zu testen.


Häufige Fehler und Lösungen

  • Falsche Syntax: Achte darauf, dass du die korrekte Syntax verwendest. Ein häufiger Fehler ist das Fehlen des Pluszeichens zwischen den Argumenten. Richtig sollte es heißen:

    If MsgBox("Ja, oder nein", vbYesNo + vbDefaultButton2) = vbYes Then
  • Standard Button nicht gesetzt: Wenn der Standard-Button nicht wie gewünscht funktioniert, stelle sicher, dass du vbDefaultButton2 oder vbDefaultButton3 für andere Standardoptionen verwendest.


Alternative Methoden

  • MsgBox mit Cancel-Option: Wenn du eine Abbruchmöglichkeit integrieren möchtest, kannst du vbYesNoCancel verwenden:

    If MsgBox("Möchten Sie fortfahren?", vbYesNoCancel + vbDefaultButton2) = vbYes Then
       ' Ja-Aktion
    ElseIf MsgBox("Möchten Sie wirklich abbrechen?", vbYesNo + vbDefaultButton2) = vbNo Then
       ' Nein-Aktion
    End If
  • Access MsgBox: In Access funktioniert die MsgBox ähnlich. Du kannst die gleichen Argumente verwenden.


Praktische Beispiele

  1. Einfaches Ja/Nein Beispiel:

    Sub einfachesBeispiel()
       If MsgBox("Möchten Sie speichern?", vbYesNo + vbDefaultButton2) = vbNo Then
           ' Speicheraktion abbrechen
           MsgBox "Speichern abgebrochen"
       End If
    End Sub
  2. Mit kritischer Warnung:

    Sub kritischeWarnung()
       If MsgBox("Wichtige Änderung, fortfahren?", vbYesNo + vbCritical + vbDefaultButton2) = vbNo Then
           MsgBox "Änderung abgebrochen"
       End If
    End Sub

Tipps für Profis

  • Verwende Konstanten: Anstatt die Werte direkt zu verwenden, definiere Konstanten für mehr Klarheit und Wartbarkeit deines Codes.

  • Nachrichten formatieren: Du kannst die Nachrichtenformatierung durch die Verwendung von HTML-Tags in den Nachrichten verbessern, um sie visuell ansprechender zu gestalten (aber beachte, dass dies nur in bestimmten Kontexten funktioniert).

  • Nutzung in Access: Wenn du mit Access arbeitest, kannst du die gleichen MsgBox-Methoden verwenden, um Benutzerinteraktionen zu gestalten.


FAQ: Häufige Fragen

1. Wie setze ich den Standard-Button auf "Ja"? Verwende vbDefaultButton1 in der MsgBox-Funktion:

If MsgBox("Ja oder Nein?", vbYesNo + vbDefaultButton1) = vbYes Then
    ' Ja-Aktion
End If

2. Kann ich die MsgBox anpassen, um mehr als zwei Optionen zu haben? Ja, du kannst vbYesNoCancel verwenden, um eine dritte Option (Abbrechen) hinzuzufügen:

If MsgBox("Fortfahren?", vbYesNoCancel + vbDefaultButton2) = vbCancel Then
    ' Abbrechen-Aktion
End If

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