Die Excel VBA Funktion MSGBox ist sehr gut geeignet, um Meldungen an Benutzer auszugeben bzw. Eingaben des Benutzers in das Programm zu übernehmen. Dabei stellt die MSGBox eine den Programmablauf unterbrechende Funktion dar, die eine Meldung in einem Dialogfeld anzeigt und auf die Auswahl einer Schaltfläche wartet.
Die MSGBox Funktion hat die folgende Syntax:
MsgBox (Prompt [, Buttons][,Title][,Helpfile][,Context]
Die Argumente bedeuten Folgendes:
- PROMPT: ist ein Zeichenfolgeausdruck mit einer maximalen Länge von 1024 Zeichen. Dieser Ausdruck erscheint als Meldung im Dialogfeld der MSGBox. Hier ein kleiner Tipp: Wenn Sie mehrzeilige Texte ausgeben möchten, können Sie dies mittels der Funktion CHR(13) erreichen.
- Buttons: ist ein numerischer Ausdruck, der die Anzahl und den Typ der Schaltflächen festgelegt.
- Titel: ist ein Zeichenfolgeausdruck, der als Titel der Dialogbox erscheinen soll.
- Helpfile: dieser Ausdruck ist nur in Kombination mit dem Argument Kontext möglich. Dieser Ausdruck definiert die kontextbezogene Hilfedatei für das Dialogfeld.
- Context: ist ein numerischer Ausdruck, der dem Helpfile zugeordnet ist.
Das Argument Prompt
Die einfachste Form der Excel VBA Funktion MSGBox ist nur die Verwendung des Arguments Prompt:
MsgBox "Bitte den Wert korrigieren"
MsgBox 17 * 1,19
MsgBox ActiveCell.Value + 10
Beispiel für eine mehrzeilige Textausgabe
MsgBox " Bitte den Wert " + Chr(13) + "korrigieren"
Die Buttons der MSG Box sind frei definierbar, wobei Sie entweder den Wert oder die Konstante nutzen können, um die entsprechenden Schaltflächen zu bekommen. Hier ein Auszug aus den Möglichkeiten
Wert Konstante Funktion
0 vbOKOnly (Voreinstellung) Schaltfläche OK
1 vbOKCancel OK und ABBRECHEN
2 vbAbortRetryIgnore ABBRECHEN, WIEDERHOLEN, IGNORIEREN
3 vbYesNoCancel JA, NEIN, ABBRECHEN
4 VbYesNo JA, NEIN
5 VbRetryCancel WIEDERHOLEN, ABBRECHEN
Die Buttons geben jeweils an, welche Schaltflächen in der Dialogbox angezeigt werden. Je nachdem welche Schaltfläche gedrückt wird, wird ein entsprechender Rückgabewert zurückgegeben. Für den Rückgabewert gelten die folgenden Werte bzw. Konstanten:
Schaltfläche Wert Konstante
OK 1 vbOK
ABBRECHEN 2 vbCancel
ABBRUCH 3 vbAbort
WIEDERHOLEN 4 vbRetry
IGNORIEREN 5 vbIgnore
JA 6 vbYes
NEIN 7 vbNo
Abfrage auf den Rückgabewert
Eine mögliche Abfrage auf den Rückgabewert könnte wie folgt aussehen:
Wert = MsgBox("Soll der Wert übernommen werden?", 3, "Abfrage")
If Wert = vbYes then….
oder
If Wert = 6 then….
Mit dem Argument Titel können Sie die Überschrift der MSG Box festlegen.