Excel, Variable in Msg Box integrieren?

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:

TygaX 
Beitragsersteller
 10.11.2022, 11:38

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"