Wie funktioniert die Excel VBA MSGBox?

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.