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

Forumthread: MsgBox mit zwei Optionen

MsgBox mit zwei Optionen
chrissey
Hallo Leut,
würde gerne eine MsgBox mit zwei Optionen belegen. Hintergrund ich möchte dem Benutzer
die Möglichkeit geben zwei verschieden Sortierungen zu wählen.
Es geht zwar über
If MsgBox("...", vbOKCancel) = vbCancel Then
Sortierung1
Else
Sortierung2
End If
aber das ist irgendwie unschön da ja eigentlich die esrte über den Cancel Button gewählt wird.
Gibts eine Möglichkeit (ohne eine UserForm zu erstellen) eine MsgBox mit Sortierung1, Sortierung2
Button zu erstellen
Danke Euch und Grüße
Chrissey
Anzeige

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

Betreff
Benutzer
Anzeige
AW: MsgBox mit zwei Optionen
25.02.2010 10:02:57
mumpel
Hallo!
Nein, keine Chance. Ohne Userform kommst Du nicht weiter.
Gruß, René
AW: MsgBox mit zwei Optionen
25.02.2010 11:03:43
eres
Hi Chrissey,
etwas einfacher als mit einer Userform könntest Du Dein Problem vielleicht mit einer Inputbox lösen.
Schau doch mal in die oft unterschätzte online-Hilfe.
Gruß
erwin
AW: VbYesNoCancel
25.02.2010 12:27:37
Dieter(Drummer)
Hi Chrissey,
eine Lösung wäre, ist aber nicht elegant:

MsgBox, "XY", VbYesNoCancel
Bei aktivieren von NO, kann dann ja die 2. Option hinterlegt werden.
Ansonsten gibt es wohl nur die Varianten von mumpel und eres.
Gruß Dieter(Drummer)
Anzeige
AW: VbYesNoCancel
26.02.2010 10:07:42
chrissey
Dieter Danke,
hast recht is net ganz perfekt, aber is eine sehr gute Option. Viel besser als
OKCancel
Grüße
Chrissey
AW: Chrissey, Danke für Rückmeldung. oT
26.02.2010 10:48:39
Dieter(Drummer)
.
;
Anzeige
Anzeige

Infobox / Tutorial

MsgBox mit zwei Optionen in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine MsgBox mit zwei Optionen in Excel VBA zu erstellen, kannst Du den folgenden Code verwenden. Dieser Code zeigt eine einfache MsgBox mit den Optionen "Sortierung1" und "Sortierung2".

Sub MsgBoxMitZweiOptionen()
    Dim Antwort As VbMsgBoxResult
    Antwort = MsgBox("Wähle eine Sortierung:", vbYesNoCancel + vbQuestion, "Sortierungswahl")

    If Antwort = vbYes Then
        ' Sortierung1
        MsgBox "Du hast Sortierung1 gewählt."
    ElseIf Antwort = vbNo Then
        ' Sortierung2
        MsgBox "Du hast Sortierung2 gewählt."
    Else
        MsgBox "Abgebrochen."
    End If
End Sub

In diesem Beispiel verwenden wir vbYesNoCancel, um dem Benutzer zwei Optionen anzubieten. Beachte, dass die erste Option durch den "Ja"-Button aktiviert wird, was möglicherweise nicht optimal ist, wenn Du eine klare Trennung zwischen den Optionen benötigst.


Häufige Fehler und Lösungen

  1. Fehler: MsgBox zeigt nicht die gewünschten Optionen

    • Lösung: Stelle sicher, dass Du die richtigen Konstanten wie vbYesNoCancel verwendest. Die Verwendung von vbOKCancel zeigt nur zwei Optionen, wobei die erste immer OK ist.
  2. Fehler: Unzureichende Benutzerführung

    • Lösung: Gib in der MsgBox klar an, was die Optionen bedeuten. Eine prägnante Beschreibung verbessert die Benutzererfahrung.

Alternative Methoden

Wenn Du eine elegantere Lösung suchst, könntest Du die Verwendung einer UserForm in Betracht ziehen. Diese Methode bietet mehr Flexibilität und Kontrolle über die Benutzeroberfläche, insbesondere wenn Du mehr als zwei Optionen anbieten möchtest.

Eine andere Möglichkeit ist die Verwendung einer InputBox. Diese ist einfacher, aber weniger benutzerfreundlich, da sie keine Schaltflächen hat.

Sub InputBoxBeispiel()
    Dim BenutzerEingabe As String
    BenutzerEingabe = InputBox("Gib deine Sortierung ein (1 oder 2):", "Sortierungswahl")

    If BenutzerEingabe = "1" Then
        MsgBox "Du hast Sortierung1 gewählt."
    ElseIf BenutzerEingabe = "2" Then
        MsgBox "Du hast Sortierung2 gewählt."
    Else
        MsgBox "Ungültige Eingabe."
    End If
End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du die MsgBox mit zwei Optionen in verschiedenen Situationen verwenden kannst:

  1. Sortierung von Daten: Du könntest die MsgBox verwenden, um den Benutzer zu fragen, ob die Daten aufsteigend oder absteigend sortiert werden sollen.

  2. Berichtswahl: Wenn Du einen Bericht generieren möchtest, könnte die MsgBox dem Benutzer die Wahl zwischen zwei Berichtstypen anbieten.


Tipps für Profis

  • Design: Achte darauf, dass die Nachrichten in der MsgBox klar und verständlich sind. Verwende kurze und präzise Formulierungen.
  • Benutzerfreundlichkeit: Überlege, ob eine UserForm in Deinem Fall sinnvoller ist, da sie eine bessere Benutzerführung ermöglicht.
  • Ereignisgesteuerte Programmierung: Kombiniere die MsgBox mit anderen Funktionen oder Ereignissen, um ein interaktives Erlebnis zu schaffen.

FAQ: Häufige Fragen

1. Kann ich mehr als zwei Optionen in einer MsgBox anzeigen? Ja, das geht nur mit einer UserForm oder indem Du eine Kombination aus MsgBox und InputBox verwendest.

2. Wie kann ich die Schaltflächen in einer MsgBox anpassen? Die Schaltflächen der MsgBox sind durch die vordefinierten Konstanten wie vbYesNoCancel oder vbOKCancel begrenzt. Du kannst diese nicht direkt anpassen, dafür ist eine UserForm erforderlich.

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