AW: einmal in die Hilfe-Funktion schauen-Gruß
13.04.2012 21:13:04
Reinhard
Hallo Artur,
dein Ursprungscode so umgeschrieben funktioniert bestens:
Sub tt()
Dim feld As Long, a As Long, b As Long, c As Long
a = 5
b = 40
c = 345
feld = a * b * c
MsgBox feld
End Sub
und auch so:
Sub tt2()
Dim feld As Long
feld = CLng(5) * CLng(40) * CLng(345)
MsgBox feld
End Sub
Das bedeutet für mich und meine bescheidenen Kenntnisse daß "5*40*345 ETWAS ergibt was vom
Typ her nicht zu dem Long-Typ von feld passt.
Warum, wieso, k.A., deshalb Frage noch offen.
CLng ist einfach erklärt, es wandelt das in Klammern in einen Longwert um.
Ein Fehler kommt wenn in der Klammer etwas ist was sich nicht zu einer Zahl umbilden läßt.
Zu meinem Gesamtunverständnis in dieser Angelegenheit gehört auch dazu daß
Sub tt3()
Dim feld As Long
feld = CLng(5 * 40 * 345)
MsgBox feld
End Sub
NICHT funktioniert.*rätsel*
aaaaargs,*schäm* jetzt (erst :-( ) beim Schreiben kam ich auf die Lösung. Eine 5 ist ja Integer. Nachprüfbar mit
Msgbox typename(5)
Also ergibt 5 * 40 * 345 theoretisch auch eine Integerzahl. Aber Integer geht nur bis 32xxx, ergo
Überlauf.
Frage nicht mehr offen
Gut's Nächtle
Reinhard