öffentlich
Redaktion Druckversion

VBA für Einsteiger - MS Excel 2003 (7)

Standard-Dialogboxen

Standardausgabe (MsgBox)

Die MsgBox liefert den Benutzer Meldungen, Ergebnisse, also Informationen vom Programm. Siehe Prozedur Ausgabe1 des Moduls EA_Dialoge der Lösungsdatei.

Beispiel:

Sub Ausgabe1()

Dim Text1 As String

Dim Text2 As String

Text1 = "Schön, "

Text2 = "dass Sie wieder da sind!"

MsgBox Text1 & Text2, , "Meldung"

End Sub

Ergebnis:

Meldung einer MsgBox-Anweisung

Die MsgBox-Anweisung besitzt Parameter analog zur InputBox-Funktion und gibt sichtbar eine Meldung aus, die sich, z.B. wie oben zu sehen, aus Stringvariablen zusammensetzen lässt. Sie selbst liefert keinen weiter verwertbaren Wert an die Prozedur zurück.

Einen Zeilenumbruch inmitten der Meldung erhalten Sie durch eine verkettete Konstante vbLf im Ausgabetext.

Beispiel:

Sub mit_Umbruch()

Dim Text1 As String

Dim Text2 As String

Text1 = "Schön, "

Text2 = "dass Sie wieder da sind!"

MsgBox Text1 & vbLf & Text2, , "Meldung"

End Sub

Meldung mit Zeilenumbruch

Mit der MsgBox-Funktion können sogar Reaktionen durch Drücken vorgegebener Buttons vom Programm ausgewertet werden. Sie selbst liefert einen weiter nutzbaren Wert an die Prozedur zurück.
Damit wird die eigentliche Meldung als bescheidene Eingabe verwendet, die ausgewertet werden kann. Sehen Sie sich das folgende Beispiel aus dem Modul EA_Dialoge der Lösungsdatei an:

Beispiel:

Sub Ausgabe2()

Dim Eingabewert As Byte

Eingabewert = MsgBox("Ja, Nein oder Wat?", vbYesNoCancel, "Test")

If Eingabewert = vbYes Then

MsgBox "Na bitte, also Ja. "

ElseIf Eingabewert = vbNo Then

MsgBox "Also eben nicht!"

Else

MsgBox "Wat denn? Kneifen?"

End If

End Sub

Im letzten Beispiel wurden die Buttons mit der VBA-Konstanten vbYesNoCancel ausgewählt.
Damit erhält die MsgBox die Buttons "Ja", "Nein" und "Abbrechen".

MsgBox mit drei Buttons zur Auswahl

Zunächst zu den Parametern der MsgBox-Funktion.

Die MsgBox-Funktion und einige Parameter

Prompt und Title sind analog zur InputBox-Funktion anzuwenden.
Mit Buttons können einige Buttons angegeben werden.
Die Notation der MsgBox-Funktion ist unkompliziert. Das zu erwartende Resultat der angebotenen Konstanten ist syntaktisch selbsterklärend definiert.

Auswahl der Konstanten für die MsgBox-Buttons

Das Konstanten für die Buttons sind ihrer Wirkung nach in Gruppen zusammengefasst:
Die Gruppe Schaltflächen fasst Konstanten für den Typ der im Dialogfeld angezeigten Schaltflächen zusammen.

  • VbOK: Nur Schaltfläche "OK"

  • VbOKCancel: Schaltflächen "OK" und "Abbrechen"

  • VbAbortRetryIgnore: Schaltflächen "Abbruch", "Wiederholen" und "Ignorieren"

  • VbYesNoCancel: Schaltflächen "Ja", "Nein" und "Abbrechen"

  • VbYesNo: Schaltflächen "Ja" und "Nein"

  • VbRetryCancel: Schaltflächen "Wiederholen" und "Abrechen"

Zusätzlich kann eine MsgBox mit einem Symbol ergänzt werden. Die Gruppe Symbole enthält die Konstanten für die Symbole.

  • VbCritical: Stoppzeichen

  • VbQuestion: Fragezeichen

  • VbExclamation: Ausrufezeichen

  • VbInformation: Infosymbol

Bei der Gestaltung der MsgBox addieren Sie immer nur jeweils maximal eine der angegebenen vbKonstanten aus den unterschiedlichen Gruppen!

MsgBox mit vbQuestion + vbYesNo.

Damit der gedrückte Button ausgewertet werden kann, wird die MsgBox-Funktion verwendet. Diese liefert im Unterschied zur MsgBox-Anweisung einen Wert, der entweder einer Variablen zugewiesen werden muss oder der in einer If_Anweisung ausgewertet wird.

Die MsgBox-Funktion erkennen Sie am folgenden Klammerpaar.
Dort werden die angegebenen Parameter notiert.
Bei der MsgBox-Anweisung folgen die Parameter (ohne Klammern) direkt nach einem Leerzeichen.
MsgBox-Funktion:
Eingabewert = MsgBox("Ja, Nein oder Wat?", vbYesNoCancel, "Test"),
MsgBox-Anweisung:
MsgBox Text1 & Text2, , "Meldung"

If Eingabewert = vbYes Then

MsgBox "Na bitte, also Ja."

ElseIf Eingabewert = vbNo Then

MsgBox "Also eben nicht!"

End If

Die möglichen Rückgabewerte der MsgBox-Funktion sind auch mit vorgegebenen Konstanten zur Auswertung zu vergleichen.

  • VbOK: Schaltfläche "OK" gedrückt

  • VbCancel: Schaltfläche "Abbrechen" gedrückt

  • VbAbort: Schaltfläche "Abbruch" gedrückt

  • VbRetry: Schaltfläche "Wiederholen" gedrückt

  • VbIgnore: Schaltfläche "Ignorieren" gedrückt

  • VbYes: Schaltfläche "Ja" gedrückt

  • VbNo: Schaltfläche "Nein" gedrückt

Mit diesen vorgegebenen simplen Dialogboxen können Sie nun umfangreich mit Ihren Prozeduren kommunizieren.

Mitglied werden, Vorteile nutzen!

  • Sie können alles lesen und herunterladen: Beiträge, PDF-Dateien und Zusatzdateien (Checklisten, Vorlagen, Musterbriefe, Excel-Rechner u.v.a.m.)
  • Unsere Autoren beantworten Ihre Fragen

Inhalt

Downloads zu diesem Beitrag

Über den Autor:

bild117282

Dieter Frommhold, Jahrgang 1943, Diplom-Lehrer für Physik und Mathematik, Verlagslektor und Programmierer. Seit 1971 langjährige Lehrtätigkeit über Betriebssysteme und Programmierung.

Ab 1994 arbe ...

Newsletter abonnieren