Meldungen

Die Funktionen MsgBox und InputBox halten den Code an und warten darauf, dass der User eine Eingabe vornimmt. Die Eingabe kann dann im Code weiterverwendet werden. In gewisser Weise handelt es sich um sehr einfache Eingabeformulare.

MsgBox

MsgBox(Prompt As String, [Buttons As VbMsgBoxStyle = vbOKOnly], [Title As String], [HelpFile, Context]) As VbMsgBoxResult
Microsoft Word
Im Direktfenster gibt es gleich eine Information

Zeigt dem User eine Meldung an. Prompt wird dem User wie nebenstehend angezeigt. Erst, wenn der User reagiert hat, wird der Code weiter ausgeführt.

Sub Nachricht()

MsgBox "Im Direktfenster gibt es gleich eine Information"
Debug.Print "Dies ist eine Information"

End Sub

In Buttons können Konstanten aus VbMsgBoxStyle das Aussehen der Meldung definieren. Man kann...

Mehrere Konstanten können addiert werden. Die Konstanten sind hier in Gruppen gegliedert, natürlich kann man aus den ersten drei Gruppen immer nur eine Konstante verwenden.

Zeigt man mehrere Buttons an, erfährt man über den Rückgabewert der Funktion, welchen der User ausgewählt hat. Dazu stellt VBA die Aufzählung VbMsgBoxResult zur Verfügung.

Mit Title kann eine Überschrift definiert werden. Fehlt Title, wird der Name der Applikation angezeigt.

VBA-Tutorial
exclamation Wurden Ihnen gerade viele Informationen zugemutet?
Sub Information()
Dim Antwort As VbMsgBoxResult
Dim Meldung As String

Meldung = "Wurden Ihnen gerade viele Informationen zugemutet?"
Antwort = MsgBox(Meldung, vbYesNo + vbQuestion, "VBA-Tutorial")

If Antwort = vbYes Then
    MsgBox "Fangen Sie weiter vorn nochmal an"
Else
    MsgBox "OK, dann können wir weitermachen"
End If

End Sub

Die Argumente HelpFile und Context benötigt man, wenn man eine eigene Hilfedatei erstellt. Im Rahmen des VBA-Tutorials wird darauf nicht näher eingegangen.

InputBox

InputBox(Prompt As String, [Title As String], [Default As String], [XPos], [YPos], [HelpFile, Context]) As String
Microsoft Word
Geben Sie einen Text ein

Zeigt dem User eine Eingabeaufforderung zur Eingabe von Text an, der anschließend als String zur Verfügung steht. Prompt wird in der InputBox angezeigt. Erst, wenn der User reagiert hat, wird der Code weiter ausgeführt.

Debug.Print InputBox("Geben Sie einen Text ein")

Ihr Name?
Wie heißen Sie?

Mit Title kann man eine Überschrift definieren. Fehlt Title, wird der Name der Applikation in der Titelleiste angezeigt. Mit Default kann man einen Text angeben, der als Voreinstellung in der InputBox angezeigt wird.

Function Eingabe() As String

Eingabe = InputBox("Wie heißen Sie?", "Ihr Name?", "Müller")

End Function

Mit XPos und YPos kann, von oben Links beginnend, die Position der Eingabeaufforderung vorgegeben werden. Ohne diese Argumente wird sie ca. zentriert dargestellt.

Die Argumente HelpFile und Context benötigt man, wenn man eine eigene Hilfedatei erstellt. Im Rahmen des VBA-Tutorials wird darauf nicht näher eingegangen.