MsgBox in Microsoft Excel VBA
-
MsgBox
in VBA -
Beispiel 1: Ja/Nein
MsgBox
-
Beispiel 2: Warnung
MsgBox
-
Beispiel 3: Zuweisung einer
MsgBox
an eine Variable - Abschluss
VBA, kurz für Visual Basic for Applications
, ist eine Programmiersprache, die Entwicklern verschiedene Funktionen und Features bei der Arbeit mit Microsoft Office-Anwendungen zur Verfügung stellt.
In diesem Artikel lernen wir die Funktion MsgBox
von VBA kennen.
MsgBox
in VBA
Die MsgBox
ist eine Funktion in VBA, die eine Meldungsbox anzeigt, wenn der Code ausgeführt wird. Wenn das Meldungsfeld angezeigt wird, wird der Code angehalten.
Es wartet dann auf Eingaben vom Benutzer und setzt die Ausführung entsprechend fort. Sie können die Nachricht in diesem Dialogfeld anpassen und Ihren Code entsprechend der vom Benutzer gewählten Option verhalten.
Die Syntax der Funktion MsgBox
in VBA ist unten.
MsgBox (prompt, [ buttons, ] [ title, ] [ helpfile, context ])
Die Funktion MsgBox
akzeptiert mehrere Argumente, wie oben gezeigt. Diese werden im Folgenden erläutert.
-
prompt
: Dieses Argument bezieht sich auf den Ausdruck vom TypString
, der als Meldung im Dialogfeld angezeigt wird. Die Anzahl der Zeichen, die Sie in derEingabeaufforderung
anzeigen können, ist begrenzt, d. h. ungefähr 1024 Zeichen, je nach Platzbedarf der Zeichen.Sie können auch das Argument
prompt
verwenden, um die Werte der Variablen anzuzeigen. Sie können die Nachricht auch in separate Zeilen aufteilen, indem Sie zwischen den Zeilen ein Wagenrücklauf- oder Zeilenvorschubzeichen verwenden. -
buttons
: Dieses Argument hat einen numerischen Wert. Es wird verwendet, um die Art der angezeigten Schaltflächen und den Stil der Symbole festzulegen. Sie können auch die Anzahl der Schaltflächen auf derMsgBox
wählen.Der Standardwert für das Argument
buttons
ist0
, was nur einenOK
-Button anzeigt. In diesem Artikel erklären wir die verschiedenen Arten von Schaltflächen und Symbolen. -
title
: Dies bezieht sich auf ein Argument vom TypString
, das die Überschrift derMsgBox
angibt, die in der Titelleiste angezeigt wird. Wird dieses Argument nicht geschrieben, wird hier der Name der Anwendung angezeigt, z. B.Microsoft Excel
. -
helpfile
: Hier können Sie eine Hilfedatei alsString
-Ausdruck angeben, die dem Benutzer hilft, wenn er auf denHelp
-Button klickt. Diese Schaltfläche wird mit ihrem spezifischen Code angezeigt, den wir unten erwähnen werden.Wenn Sie ein
helpfile
-Argument angeben, muss auch dercontext
angegeben werden. -
Kontext
: Dies ist die Hilfekontextnummer, die der Hilfeautor dem Hilfethema zuweist. Wenn Sie einKontext
-Argument angeben, muss auch dieHilfedatei
angegeben werden.
Hinweis: Es wird nur das Argument
prompt
benötigt. Der Rest kann optional angegeben werden.
VBA MsgBox
-Schaltflächen
Wie oben erwähnt, kann das Argument buttons
der Funktion MsgBox
die Anzahl und Art der in der Dialogbox angezeigten Schaltflächen angeben. Dies geschieht durch Angabe der Schaltflächenkonstante oder ihres entsprechenden Werts.
Die gängigen Typen von Schaltflächeneinstellungen sind unten zusammengefasst.
vbOKOnly
: Diese Schaltfläche hat den Wert0
. Es wird verwendet, um nur die SchaltflächeOK
anzuzeigen.vbOKCancel
: Der Wert für diese Schaltfläche ist1
. Es zeigt sowohl die SchaltflächenOK
als auchAbbrechen
an.vbAbortRetryIgnore
: Es hat den Wert2
. Es zeigt die SchaltflächenAbbrechen
,Wiederholen
undIgnorieren
.vbYesNoCancel
: Es hat den Wert3
. Es zeigt die SchaltflächenJa
,Nein
undAbbrechen
an.vbYesNo
: Dies ist die Schaltfläche mit dem Wert4
. Es zeigt die SchaltflächenJa
undNein
an.vbRetryCancel
: Diese Schaltfläche hat den Wert5
. Es zeigt die SchaltflächenWiederholen
undAbbrechen
an.vbDefaultButton1
: Die erste Schaltfläche wird als Standard festgelegt. Durch Ändern der Nummer wird die Standardschaltfläche geändert;vbDefaultButton2
bedeutet beispielsweise, dass die zweite Schaltfläche die Standardeinstellung ist. Der Wert ändert sich auch für jeden.vbMsgBoxHelpButton
: Wert dafür ist16384
. Es zeigt die SchaltflächeHilfe
an. Wenn Sie dies verwenden, müssen Sie die Argumentehelpfile
undcontext
angeben, sonst funktioniert es nicht.
VBA MsgBox
Rückgabewerte
Die Funktion MsgBox
gibt abhängig von der gedrückten Taste einen ganzzahligen Wert zurück. Es gibt 7 Rückgabewertkonstanten mit dem entsprechenden numerischen Wert, der zurückgegeben wird.
vbOK
vbAbbrechen
vbAbbrechen
vbWiederholen
vbIgnorieren
vbJa
vbNein
Sie können diese numerischen Werte in Variablen speichern und entsprechende Aktionen in Ihrem Code ausführen.
VBA MsgBox
-Icons
Sie können das angezeigte Symbol in der VBA MsgBox
anpassen. Es kann von den folgenden Arten sein:
-
vbKritisch
-
vbFrage
-
vbAusruf
-
vbInformationen
Beispiel 1: Ja/Nein MsgBox
Sehen wir uns einen Beispielcode an, der Ihnen zeigt, wie Sie die Funktion MsgBox
verwenden. Wir geben ein Beispiel für die Ja/Nein MsgBox
, die die Schaltflächen Ja
und Nein
anzeigt.
Der Code dafür ist unten.
Sub YesNoMsgBox()
MsgBox "Still Want To Continue?", vbQuestion + vbYesNo
End Sub
Beispiel 2: Warnung MsgBox
Betrachten wir ein Beispiel einer MsgBox
, die eine Warnmeldung mit den Optionen Abbrechen
, Wiederholen
oder Ignorieren
anzeigt. Es zeigt auch die Verwendung von vbNewLine
und dem title
-Argument.
Sub WarningMsgBox()
MsgBox "An exception occured" & vbNewLine & "Choose what you want to do", vbExclamation + vbAbortRetryIgnore, "Exception"
End Sub
Beispiel 3: Zuweisung einer MsgBox
an eine Variable
In den obigen Beispielen hat das Drücken von Tasten nichts Besonderes bewirkt. Wenn Sie jedoch die Aktion Ihres Codes entsprechend der vom Benutzer ausgewählten Schaltfläche ändern möchten, müssen Sie den Rückgabewert MsgBox
in einer Variablen speichern.
Lassen Sie uns sehen, wie wir das mit dem folgenden Code tun können.
Sub MsgBoxExample()
Dim result As Integer
result = MsgBox("Do you want to continue?", vbYesNo + vbQuestion)
If result = vbYes Then ' Or result == 6
MsgBox "You clicked Yes"
End If
If result = vbNo Then ' Or result == 7
MsgBox "You clicked No"
End If
End Sub
Wenn Sie dieses Makro ausführen, wird die folgende MsgBox
angezeigt:
Wenn wir auf Ja
klicken, wird diese MsgBox
angezeigt:
Ebenso erscheint beim Klicken auf Nein
die folgende MsgBox
:
Abschluss
Dies fasst unsere Diskussion über die Funktion MsgBox
und die verschiedenen Möglichkeiten, sie mit VBA anzupassen, zusammen. Lerne weiter!
Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!
GitHub