Excel, Variable in Msg Box integrieren?
Hallo, wie kann ich eine Variable in einer Msg Box integrieren.
Folgendermaßen sieht der Code aus:
'Sollte eins der Felder (Monat.Text, Referenz.Text, Wert.Text) unausgefüllt sein, so soll die Variable den folgenden Wert annehmen
Dim Fehlendes_Feld As String
If Monat.Text = "" Then Fehlendes_Feld = Monat
If Referenz.Text = "" Then Fehlendes_Feld = Referenz
If Wert.Text = "" Then Fehlendes_Feld = Wert
MsgBox Prompt:="Bitte folgendes Feld ausfüllen: Fehlendes_Feld ", Title:="Fehler"
Die Msg Box zeigt mir halt den Text an und passt die Variable leider nicht an. Wie ändere ich das?
2 Antworten
Die Msg Box zeigt mir halt den Text an
Genau das hast du ja auch mit der Zeile so festgelegt
:="Bitte folgendes Feld ausfüllen: Fehlendes_Feld"
Innerhalb der Anführungszeichen ist das Text. Selbst wenn es eine Variable gibt, die diese Bezeichnung hat. Soll die Variable verwendet werden, muss das entsprechend an den Text angehängt werden.
:="Bitte folgendes Feld ausfüllen: " & Fehlendes_Feld, Title:
Habs auch schon versucht, zuerst funktionierte es nicht aber jetzt. Vllt irgendwo ein Zeichenfehler. Danke dir!
Du musst natürlich die Werte, die in die Variable Fehlendes_Feld geschrieben werden sollen, in Anführungszeichen setzen, sonst denkt VBA, dass du einfach den Inhalt einer bisher unbekannten Variable zuweisen willst (was dann einfach ein leerer String ist). Um den Stolperstein zu entfernen, schreibe am besten in jedes VBA Modul als erste Zeile den Befehl "Option Explicit" rein. Dann sagt dir VBA, wenn es eine Variable nicht kennt (hilft z.B. auch bei Schreibfehlern in Variablennamen)
Und damit du in die MsgBox nicht den Text "Fehlendes_Feld", sondern tatsächlich das fehlende Feld drinstehen hast, musst du den String dementsprechend verketten:
'Sollte eins der Felder (Monat.Text, Referenz.Text, Wert.Text) unausgefüllt sein, so soll die Variable den folgenden Wert annehmen
Dim Fehlendes_Feld As String
If Monat.Text = "" Then Fehlendes_Feld = "Monat"
If Referenz.Text = "" Then Fehlendes_Feld = "Referenz"
If Wert.Text = "" Then Fehlendes_Feld = "Wert"
MsgBox Prompt:="Bitte folgendes Feld ausfüllen: " & Fehlendes_Feld, Title:="Fehler"