Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1576to1580
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Variable nicht definiert
28.08.2017 16:09:12
Eisi
Hallo zusammen,
ich verstehe das nicht. Excel 2007 meldet beim "Eingabewert" --> Variable nicht definiert. Die Funktion mit 2 Texten hatte ich bereits auf einem anderen Blatt benutzt und hat wunderbar funktioniert. Jetzt wollte ich so 11 Textzeilen erstellen, aber es geht nicht. Warum kommt die Fehlermeldung, bzw. was muss ich ändern?
Herzlichen Dank für das Feedback.
VG Thomas :-)
Private Sub CommandButton1_Click()
Dim Text1 As String
Dim Text2 As String
Dim Text3 As String
Text1 = "xxxxx"
Text2 = "yyy"
Text3 = "zzzzzzz"
Eingabewert = MsgBox(Text1 & vbLf & Text2 & vbLf & Text3, vbInformation, "Dämmstofftypen")
End Sub

25
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Und wo ist "Eingabewert" deklariert?! owT
28.08.2017 16:11:42
Michael
AW: Und wo ist "Eingabewert" deklariert?! owT
28.08.2017 16:17:09
Eisi
Zu peinlich, habe keine Ahnung wie ich das machen soll. Aber was mich wundert, dass es zuerst so funktioniert hat. Wäre super cool, wenn Du mir bitte die Lösung nennen könntest. Bin halt nur ein Gelegenheitsanwender.
Herzlichen Dank. :-)
AW: Und wo ist "Eingabewert" deklariert?! owT
28.08.2017 16:20:05
Eisi
Zu peinlich, habe keine Ahnung wie ich das machen soll. Aber was mich wundert, dass es zuerst so funktioniert hat. Wäre super cool, wenn Du mir bitte die Lösung nennen könntest. Bin halt nur ein Gelegenheitsanwender.
Herzlichen Dank. :-)
Dim Eingabewert AS String
28.08.2017 16:27:29
Werner
AW: Dim Eingabewert AS String
28.08.2017 16:30:16
Eisi
Ups, habe ich auch gerade festgestellt, sorry.
Trotzdem lieben Dank. :-)
Gerne u. Danke für die Rückmeldung. o.w.T.
28.08.2017 17:45:58
Werner
AW: Dim Eingabewert AS String
28.08.2017 19:59:46
Nepumuk
Hallo Werner,
As String ?
Eine MsgBox gibt immer einen Wert von Typ VbMsgBoxResult zurück. Das ist ein Enumeriter Datentyp und der hat in VB immer den Wert Long. Einen Rückgabewert vom Typ Long in einen String zu pressen, falscher kannst du es nicht machen.
Gruß
Nepumuk
Anzeige
AW: Und wo ist "Eingabewert" deklariert?! owT
28.08.2017 16:28:02
UweD

Private Sub CommandButton1_Click()
Dim Text1 As String
Dim Text2 As String
Dim Text3 As String
Dim Eingabewert As String
Text1 = "xxxxx"
Text2 = "yyy"
Text3 = "zzzzzzz"
Eingabewert = MsgBox(Text1 & vbLf & Text2 & vbLf & Text3, vbInformation, "Dämmstofftypen") _
End Sub

Echt jetzt...?
28.08.2017 16:28:30
Michael
Dim Text1 As String
Dim Text2 As String
Dim Text3 As String
Dim Eingabewert As String
'...
LG
Michael
Nee, Micha, er hat MsgBox geschrieben, ...
29.08.2017 01:49:57
Luc:-?
…die gibt aber einen Enumerationswert vom Typ MsgBoxResult zurück. Das wäre eine Ganzzahl von 1 (vbOK) bis 7 (vbNo), je nachdem, welche Taste der Box bedient wurde, kein String! Das hatte allerdings auch schon Nepumuk geschrieben, ohne dass darauf einer von euch reagiert hätte!
Aber möglicherweise soll das ja tatsächlich eine Eingabe wdn. Dann müsste aber eine InputBox verwendet wdn und dann könnte das auch As String deklariert wdn. Viell ist das ja der Fehler und der Fragesteller hat die beiden Boxen nur verwechselt, zuvor aber die richtige verwendet…
🙈 🙉 🙊 🐵 Morrn, Luc :-?
Anzeige
Sorry, meine Lieben, aber...
29.08.2017 09:58:35
Michael
(Guten Morgen!),
...den Wind den Ihr hier bzgl. einer "As String"-Deklaration macht, kann ich nicht nachvollziehen. Ihr habt mit Eurem Long-Argument natürlich recht, aber sowohl Werner, Uwe als auch ich haben die "As String"-Deklaration vorgeschlagen, was schon mal darauf hindeutet, dass dies wohl ein gängiger Lapsus sein könnte, und warum? Weil es bei der gegebenen Aufgabenstellung völlig egal ist, ob Long oder String. Der Code läuft (selbstverständlich) einwandfrei mit "As String" für "Eingabewert" durch.
Und bei der Mickey-Maus-Routine sollte es ja wohl reichen, wenn es durchläuft. Also, grds. habt Ihr natürlich Recht, aber so dramatisch fand ich das jetzt nicht.
Da passieren schon gröbere Schnitzer...
Meine 2 Groschen... äh... Cent ;-)
Michael
Anzeige
Sicher, aber nichts Genaues wusste man nicht! orT
30.08.2017 15:14:19
Luc:-?
Gruß, Luc :-?
Das stimmt, wie so oft eigentlich ;-), lg und owT
30.08.2017 16:20:37
Michael
Dein Problem ist für mich nicht nachvollziehbar ..
28.08.2017 20:27:39
Matthias
Hallo
Wenn es bei Dir nicht geht, lad die Datei hier hoch.
Dann kann man schauen.
Auch mit 11 Textzeilen geht das.
https://www.herber.de/bbs/user/115839.xlsm
Gruß Matthias
AW: Sein Problem ist nachvollziehbar ..
28.08.2017 20:58:28
Gerd
Moin
Excel 2007 meldet beim "Eingabewert" -- Variable nicht definiert
Die Einstellung im Editor unter Extras--Optionen "Variablendeklaration erforderlich" ist geändert worden.
Just my 2Cent
Gruß Gerd
ich schrieb, für mich mich nachvollziehbar ..
28.08.2017 21:12:26
Matthias
Hallo Gerd
Wenn jemand seinen Code postet und in de ersten Zeile steht nicht Option Explicit,
muss ich davon ausgehen das es auch wirklich nicht drinsteht.
Gruß Matthias
Anzeige
AW: ich schrieb, für mich mich nachvollziehbar ..
28.08.2017 21:20:21
Gerd
Hallo Matthias,
wenn es drinsteht kommt in Verbindung mit der oberen oder mittleren Einstellung zur Fehlerbehandlung diese Fehlermeldung.
Gruß Gerd
Du verstehst mich nicht, belassen wir es dabei oT
28.08.2017 21:44:33
Matthias
Option Explicit soll bekanntlich in der 1.Zeile …
29.08.2017 01:44:46
Luc:-?
…des Moduls stehen, Matti,
da wird es auch automatisch eingetragen, wenn man den entsprd Haken setzt. Warum soll man es dann vor irgendein gepostetes Pgm setzen, das sonstwo im Modul stehen kann? Das mache ich auch nicht! Folglich kann man aus dem Fehlen dieser Zeile bei gepostetem Code gar nichts ableiten, aus dem Fehlen in einer hochgeladenen Datei aber schon…
🙈 🙉 🙊 🐵 Gruß, Luc :-?
Besser informiert mit …
Anzeige
AW: Option Explicit soll
29.08.2017 10:58:12
Eisi
Hallo zusammen,
dank Eurer Kommentare habe ich mir nochmal angeschaut, wo der Unterschied lag bei meinen MsgBoxen.
Die erste Box hat funktioniert, auch ohne Dim Eingabewert As String, weil im Arbeitsblatt (A) eben nicht "Option Explicit" drin stand.
In dem anderen Arbeitsblatt (B)schon und deshalb kam die Fehlermeldung, weil ich ja nicht deklariert hatte.
Werde in Zukunft darauf achten, dass ich "Option Explicit" zuerst reinschreibe.
Beste Grüße
Thomas
AW: Option Explicit soll
29.08.2017 12:08:52
Nepumuk
Hallo Thomas,
du kannst dir Option Explicit auch automatisch einfügen lassen. Dazu im VBA-Editor - Menüleiste unter Extras - Optionen - Register Editor bei Variablendeklaration erforderlich ein Häkchen setzen. Damit wird Option Explicit automatisch in alle neuen Module eingefügt, es hat aber keine Auswirkung auf schon vorhandene Module.
Gruß
Nepumuk
Anzeige
AW: Variable nicht definiert
29.08.2017 11:10:31
Eisi
Ach ja, soll ich für die MsgBox
Dim As String, oder
Dim As Long
wählen.
Beides würde gehen, aber was macht sinn?
Danke.
VG
Thomas
AW: Variable nicht definiert
29.08.2017 12:04:17
Nepumuk
Hallo Thomas,
wenn du sowieso keinen Rückgabewert der MsgBox auswertest, dann ruf die MsgBox so auf:
Private Sub CommandButton1_Click()
    Dim Text1 As String
    Dim Text2 As String
    Dim Text3 As String
    
    Text1 = "xxxxx"
    Text2 = "yyy"
    Text3 = "zzzzzzz"
    
    MsgBox Text1 & vbLf & Text2 & vbLf & Text3, vbInformation, "Dämmstofftypen"
    
End Sub

Gruß
Nepumuk
Anzeige
AW: Variable nicht definiert
29.08.2017 15:17:59
Eisi
Herzlichen Dank für die Hilfe. :-)
AW: Variable nicht definiert
29.08.2017 11:54:49
Eisi
Ach ja, soll ich für die MsgBox
Dim As String, oder
Dim As Long
wählen.
Beides würde gehen, aber was macht sinn?
Danke.
VG
Thomas

34 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige