Wie erstelle ich meldungsfeldfunktionen in excel?

Das erste, was ich über VBA gelernt habe, war die Verwendung einer Nachrichtenbox („msgbox-Funktion“). Es ist wie ein einfaches Popup-Fenster in Ihrem Excel-Fenster, in dem eine bestimmte Nachricht angezeigt wird. Wenn Sie darüber nachdenken, können Sie es auf zwei Arten verwenden.

  • Übermitteln Sie dem Benutzer eine Nachricht.
  • Erhalten Sie eine einfache Antwort vom Benutzer.

Die meisten VBA-Programmierer verwenden es in ihren Makrocodes, um sie interaktiver zu gestalten. Wenn Sie es nicht kennen, werden Sie sich nach der Lektüre dieses Artikels bestimmt darin verlieben.

Expertentipp: Wenn Sie ein VBA-Anfänger sind, ist es möglicherweise eine gute Idee, mehr über das VBA-Meldungsfeld zu erfahren.

Deshalb möchte ich Ihnen heute in diesem Artikel alle Details zur Verwendung eines Meldungsfelds in Excel sowie einige Beispiele aus der Praxis mitteilen.

…Lass uns anfangen.

Syntax

=MSGBOX(Eingabeaufforderung, [Schaltflächen], [Titel], [Hilfedatei, Kontext])

msgbox VBA-Funktionssyntax

  • prompt String-Ausdruck, der zur Anzeige als Nachricht verwendet wird. Die maximale Zeichenlänge beträgt 1024, was von der Zeichenbreite abhängt.
  • [Schaltflächen] Mit diesem Argument können Sie Schaltflächen, Symbolstil, Schaltflächenidentität und Meldungsfeldmodalität angeben.
  • [Titel] Mit diesem Argument können Sie den Titeltext für Ihr Nachrichtenfeld angeben.
  • [helpfile] Dieses Argument hilft Ihnen, eine Hilfedatei für den Benutzer anzugeben. Der Benutzer kann über die Schaltfläche „Hilfe“ auf diese Hilfedatei zugreifen. Wenn Sie eine Hilfedatei angeben, ist die Angabe einer Kontextnummer zwingend erforderlich.
  • [Kontext] Numerischer Ausdruck, der zum Zuweisen eines Hilfethemas aus dem Hilfemenü verwendet wird.

Hinweis: In der obigen Liste sind die Argumente in eckigen Klammern optional. Sie können sie überspringen und angeben.

So passen Sie ein Meldungsfeld an und verwenden verschiedene Schaltflächen

Sie können ein VBA-Meldungsfeld ganz einfach mit allen verfügbaren Optionen anpassen. Werfen wir einen Blick auf diese Optionen.

#1. vbOKOnly

Dadurch erhalten Sie eine einfache OK-Schaltfläche. Der Benutzer kann nach dem Lesen der Nachricht darauf klicken, um sie zu schließen. Sie können auch zusätzlich ein Makro verwenden, das ausgeführt wird, sobald auf die Schaltfläche „OK“ geklickt wird.

Unter OKOnly()

MsgBox-Eingabeaufforderung := „Dies ist eine MsgBox“, _

Schaltflächen:=vbOKOnly, _

Titel: = „Postfach“

Schlussuntertitel

#2. vbOKAbbrechen

Diese Konstante bietet Ihnen eine Schaltfläche „OK“ und „Abbrechen“. Der Benutzer hat nun zwei Möglichkeiten: Drücken Sie „OK“, um fortzufahren, oder „Abbrechen“, um den Vorgang zu beenden.

Unter OKCancel()

MsgBox-Eingabeaufforderung:= »Geht es dir gut? », _

Schaltflächen:=vbOKCancel, _

Titel: = „Postfach“

Schlussuntertitel

#3. vbAbortRetryIgnore

Dadurch können Sie drei Schaltflächen für „Info“, „Wiederholen“ und „Überspringen“ anzeigen. Der Benutzer kann den Vorgang abbrechen, erneut versuchen oder ihn ignorieren.

Unter OKCancel()

MsgBox-Eingabeaufforderung:= »Geht es dir gut? », _

Schaltflächen:=vbOKCancel, _

Titel: = „Postfach“

Schlussuntertitel

#4. vbJaNeinAbbrechen

Diese Konstante zeigt drei Schaltflächen für Ja, Nein und Abbrechen an. Der Benutzer kann mit „Ja“ akzeptieren und fortfahren, mit „Nein“ ablehnen oder abbrechen, um das Meldungsfeld zu schließen.

Unter YesNoCancel()

MsgBox Prompt := „Jetzt haben Sie drei Schaltflächen“, _

Schaltflächen:=vbYesNoCancel, _

Titel: = „Postfach“

Schlussuntertitel

#5. vbJaNein

Diese Konstante zeigt zwei Schaltflächen für „Ja“ und „Nein“ an. Der Benutzer kann auf „Ja“ klicken, um zu akzeptieren und fortzufahren, oder auf „Nein“, um abzulehnen.

Unter JaNein()

MsgBox Prompt := „Jetzt haben Sie zwei Schaltflächen“, _

Schaltflächen:=vbYesNo, _

Titel: = „Postfach“

Schlussuntertitel

#6. vbRetryCancel

Jetzt werden zwei Schaltflächen angezeigt: „Wiederholen“ und „Abbrechen“. Sie können damit den Benutzer auffordern, den Vorgang erneut zu versuchen oder ihn abzubrechen.

Sub RetryCancel()MsgBox Prompt:=“Bitte versuchen Sie es erneut“, _Buttons:=vbRetryCancel, _Title:=“MsgBox“End Sub

#7. vbReview

Diese Konstante zeigt im Meldungsfeld ein Symbol an, das darauf hinweist, dass die Meldung kritisch ist.

Unterkritisch()

MsgBox-Eingabeaufforderung := „Das ist kritisch“, _

Schaltflächen:=vbCritical, _

Titel: = „Postfach“

Schlussuntertitel

#8. vbFrage

Diese Konstante kann verwendet werden, wenn dem Benutzer eine Frage gestellt wird.

Unterfrage()

MsgBox-Eingabeaufforderung := »Was jetzt tun? », _

Schaltflächen:=vbQuestion, _

Titel: = „Postfach“

Schlussuntertitel

#9. vbAusruf

Diese Konstante zeigt ein Ausrufezeichen mit der Nachricht an.

UnderExclamation()

MsgBox-Eingabeaufforderung := »Was jetzt tun? », _

Schaltflächen:=vbExclamation, _

Titel: = „Postfach“

Schlussuntertitel

#zehn. vbInformation

Es wird ein Symbol angezeigt, das darauf hinweist, dass es sich bei der Nachricht um eine Information handelt.

Sub Information()MsgBox Prompt:=“Was jetzt tun?“, _Buttons:=vbInformation, _Title:=“MsgBox“End Sub

#11. vbDefaultButton1

Verwenden Sie diese Konstante, um die erste Schaltfläche in Ihrem Nachrichtenfeld als Standardschaltfläche festzulegen.

Sub DefaultButton1()MsgBox Prompt:=“Button1 ist hervorgehoben?“, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton1, _Title:=“MsgBox“End Sub

#12. vbDefaultButton2

Verwenden Sie diese Konstante, um die zweite Schaltfläche in Ihrem Meldungsfeld als Standardschaltfläche festzulegen.

Sub DefaultButton2()MsgBox Prompt:=“Button2 ist hervorgehoben?“, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton2, _Title:=“MsgBox“End Sub

#13. vbDefaultButton3

Verwenden Sie diese Konstante, um die dritte Schaltfläche in Ihrer Nachrichtenbox als Standardschaltfläche festzulegen.

Sub DefaultButton3()MsgBox Prompt:=“Button3 ist hervorgehoben?“, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton3, _Title:=“MsgBox“End Sub

#14. vbDefaultButton4

Verwenden Sie diese Konstante, um die vierte Schaltfläche in Ihrer Nachrichtenbox als Standardschaltfläche festzulegen.

Sub DefaultButton4()MsgBox Prompt:=“Button4 ist hervorgehoben?“, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton4, _Title:=“MsgBox“End Sub

#15. vbApplicationModal

Diese Konstante unterbricht die Anwendung (Excel). Der Benutzer muss auf die Nachrichtenbox antworten, um die Anwendung verwenden zu können.

Unter OKOnly()

MsgBox-Eingabeaufforderung := „Dies ist eine MsgBox“, _

Schaltflächen:=vbOKOnly, _

Titel: = „Postfach“, _

Schlussuntertitel

#16. vbSystemModal

Diese Konstante unterbricht alle Anwendungen in Ihrem Betriebssystem. Der Benutzer muss zuerst auf das Meldungsfeld antworten.

Sub ApplicationModal()MsgBox Prompt := »Dies ist das Anwendungsmodal», _Buttons :=vbOK + vbApplicationModal, _Title := »MsgBox »End Sub

#17. vbMsgBoxHelpButton

Verwenden Sie diese Konstante, um Ihrem Postfach eine Hilfeschaltfläche hinzuzufügen. Sie können eine Hilfedatei und eine Kontextnummer hinzufügen, um die Hilfeschaltfläche zu verwenden.

Sub HelpButton()MsgBox Prompt:=“Hilfe-Schaltfläche verwenden“, _Buttons:=vbOK + vbMsgBoxHelpButton, _Title:=“MsgBox“, _HelpFile:=“C:UsersPuneet GogiaDesktopsamplehelp.chm“, _Context:=101End Sub

Sobald der Benutzer auf die Hilfeschaltfläche klickt, erscheint ein Hilfemenü.

#18. vbMsgBoxSetForeground

Diese Konstante hilft Ihnen dabei, Ihr Meldungsfenster in ein Vordergrundfenster zu verwandeln.

Sub SetForeground()MsgBox Prompt:=“Diese MsgBox befindet sich im Vordergrund“, _Buttons:=vbOK + vbMsgBoxSetForeground, _Title:=“MsgBox“End Sub

#19. vbMsgBoxRight

Mit dieser Konstante wird der Text rechtsbündig ausgerichtet.

Unter MsgBoxRight()

MsgBox Prompt := „Der Text ist rechts“, _

Schaltflächen:=vbOK + vbMsgBoxRight, _

Titel: = „Postfach“

Schlussuntertitel

#20. vbMsgBoxRtlReading

Mit dieser Konstante wird das Meldungsfeld nach rechts gekippt. Diese Konstante ist hauptsächlich für das hebräische und arabische System konzipiert.

Unter MsgBoxRtlRead()

MsgBox Prompt := „Diese Box ist umgeworfen“, _

Schaltflächen:=vbOK + vbMsgBoxRtlRead, _

Titel: = „Postfach“

Schlussuntertitel

Rückgabewerte

Jedes Mal, wenn ein Benutzer auf das Meldungsfeld antwortet, indem er auf eine der Schaltflächen klickt, wird eine Zahl generiert. Dadurch können Sie leichter erkennen, auf welche Schaltfläche der Benutzer geklickt hat.

Konstante
Wert
Beschreibung
vbOK
1
IN ORDNUNG
vbAbbrechen
2
Stornieren
vbAbort
3
Abtreibung
vbVersuchen Sie es erneut
4
Fang nochmal an
vbSkip
5
Ignorieren
vbJa
6
Ja
vbNr
7
NEIN

Beispiele aus der Praxis für die Verwendung der VBA-Meldungsfeldfunktion in Excel

Hier habe ich einige reale Beispiele für VBA-Meldungsfelder aufgelistet und ich bin sicher, dass diese Beispiele Sie dazu inspirieren werden, es zu verwenden.

#1. Führen Sie ein Makro mit einer VBA-MsgBox aus

Mit Hilfe der msgbox-Funktion können Sie jetzt einen Benutzer auffordern, bevor er ein Makro ausführt. Schauen wir uns das Makro unten an, um es zu verstehen.

Unter SaveThis()

Dimmen Sie das Ergebnis als Ganzzahl

Ergebnis = MsgBox(„Möchten Sie diese Datei speichern?“, vbOKCancel)

Wenn Ergebnis = vbOK, dann

ActiveWorkbook.Save

Schlussuntertitel

Arbeitsmappe mit vba msgbox speichern

Sie können den Benutzer bitten, die Arbeitsmappe zu speichern. Wenn der Benutzer auf die Schaltfläche „OK“ klickt, speichert der Makrocode die Arbeitsmappe.

#2. Fügen Sie eine Tabelle in ein Nachrichtenfeld ein

Mit vbTab können Sie tabellarische Daten in das Meldungsfeld eingeben. In diesem Beispiel beginnt die Tabelle bei Zelle A1.

Unter AddToMsgBox()

Nachricht als Zeichenfolge dimmen

Dim r als int

Dim c als int

Dim rc als int

Dim cc als int

Dimmen Sie myRows als Bereich

Dimmen Sie myColumns als Bereich

Nachricht = „“

Setze myRows = Range(“A:A”)

Setze myColumns = Range(“1:1”)

rc = Application.CountA(myRows)

cc = Application.CountA(myColumns)

Für r = 1 bis rcFür c = 1 bis cc

Msg = Msg & Cells(r, c).Text

Wenn c <= cc, dann

Msg = Msg & vbTab

nächstes cMsg = Msg & vbCrLf

Nächste r

MsgBox Msg

Schlussuntertitel

#3. Meldungsfeld beim Öffnen einer Datei anzeigen

Wenn Sie sich das Makro unten ansehen, habe ich auto_open verwendet, um eine Meldung zu erstellen, die beim Öffnen der Arbeitsmappe angezeigt wird.

Unter auto_open()

MsgBox „Willkommen bei Exceladvisor und vielen Dank für das Herunterladen dieser Datei“ _

+ vbNewLine + vbNewLine + „Hier finden Sie eine ausführliche Erklärung der MsgBox-Funktion. » _

+ vbNewLine + vbNewLine + „Und vergessen Sie nicht, sich auch andere coole Sachen anzuschauen. »

Schlussuntertitel

Imbissbuden

  1. Sie können einem Meldungsfeld keine vier Schaltflächen hinzufügen, wenn Sie die Hilfeschaltfläche nicht als vierte Schaltfläche verwenden.
  2. Um eine Hilfedatei für Ihr Nachrichtenfeld zu erstellen, können Sie auf die folgende Beispieldatei zurückgreifen.

Beispieldatei

Laden Sie diese Beispieldatei hier herunter, um mehr darüber zu erfahren.

Abschluss

Das Nachrichtenfeld hilft Ihnen nicht nur, eine Nachricht zu übermitteln, sondern hinterlässt auch einen kreativen Eindruck beim Benutzer. Sie können ihnen eine Nachricht senden und eine einfache Antwort erhalten.

Und wie ich schon sagte: Wenn Sie VBA-Neuling sind, ist es eines der besten Dinge, zu lernen, wie man ein Nachrichtenfeld verwendet. Ich hoffe, dieser Artikel hat Ihnen geholfen, Ihrem Traum, VBA zu beherrschen, näher zu kommen, aber jetzt sagen Sie mir eines.

Denken Sie, dass die MsgBox-Funktion eines der coolsten Dinge in VBA ist?

Teilen Sie mir unbedingt Ihre Meinung im Kommentarbereich mit. Ich würde gerne von Ihnen hören und vergessen Sie nicht, diesen Tipp mit Ihren Freunden zu teilen.

Erfahren Sie mehr über VBA

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert