MsgBox in Microsoft Excel VBA

Bilal Shahid 15 Februar 2024
  1. MsgBox in VBA
  2. Beispiel 1: Ja/Nein MsgBox
  3. Beispiel 2: Warnung MsgBox
  4. Beispiel 3: Zuweisung einer MsgBox an eine Variable
  5. Abschluss
MsgBox in Microsoft Excel VBA

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.

  1. prompt: Dieses Argument bezieht sich auf den Ausdruck vom Typ String, der als Meldung im Dialogfeld angezeigt wird. Die Anzahl der Zeichen, die Sie in der Eingabeaufforderung 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.

  2. 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 der MsgBox wählen.

    Der Standardwert für das Argument buttons ist 0, was nur einen OK-Button anzeigt. In diesem Artikel erklären wir die verschiedenen Arten von Schaltflächen und Symbolen.

  3. title: Dies bezieht sich auf ein Argument vom Typ String, das die Überschrift der MsgBox angibt, die in der Titelleiste angezeigt wird. Wird dieses Argument nicht geschrieben, wird hier der Name der Anwendung angezeigt, z. B. Microsoft Excel.

  4. helpfile: Hier können Sie eine Hilfedatei als String-Ausdruck angeben, die dem Benutzer hilft, wenn er auf den Help-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 der context angegeben werden.

  5. Kontext: Dies ist die Hilfekontextnummer, die der Hilfeautor dem Hilfethema zuweist. Wenn Sie ein Kontext-Argument angeben, muss auch die Hilfedatei 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.

  1. vbOKOnly: Diese Schaltfläche hat den Wert 0. Es wird verwendet, um nur die Schaltfläche OK anzuzeigen.
  2. vbOKCancel: Der Wert für diese Schaltfläche ist 1. Es zeigt sowohl die Schaltflächen OK als auch Abbrechen an.
  3. vbAbortRetryIgnore: Es hat den Wert 2. Es zeigt die Schaltflächen Abbrechen, Wiederholen und Ignorieren.
  4. vbYesNoCancel: Es hat den Wert 3. Es zeigt die Schaltflächen Ja, Nein und Abbrechen an.
  5. vbYesNo: Dies ist die Schaltfläche mit dem Wert 4. Es zeigt die Schaltflächen Ja und Nein an.
  6. vbRetryCancel: Diese Schaltfläche hat den Wert 5. Es zeigt die Schaltflächen Wiederholen und Abbrechen an.
  7. 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.
  8. vbMsgBoxHelpButton: Wert dafür ist 16384. Es zeigt die Schaltfläche Hilfe an. Wenn Sie dies verwenden, müssen Sie die Argumente helpfile und context 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.

  1. vbOK
  2. vbAbbrechen
  3. vbAbbrechen
  4. vbWiederholen
  5. vbIgnorieren
  6. vbJa
  7. 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:

  1. vbKritisch

    Kritisches Symbol

  2. vbFrage

    Frage-Symbol

  3. vbAusruf

    Ausrufezeichen

  4. vbInformationen

    Informationssymbol

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

Ja/Nein MsgBox

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

Warnung MsgBox

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:

Beispiel MsgBox

Wenn wir auf Ja klicken, wird diese MsgBox angezeigt:

Ja MsgBox

Ebenso erscheint beim Klicken auf Nein die folgende MsgBox:

Keine MsgBox

Abschluss

Dies fasst unsere Diskussion über die Funktion MsgBox und die verschiedenen Möglichkeiten, sie mit VBA anzupassen, zusammen. Lerne weiter!

Bilal Shahid avatar Bilal Shahid avatar

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