Forum: PC-Programmierung Microsoft VBA - Datentyp Long mit Überlauf


von Wigi (Gast)


Lesenswert?

Hallo ich habe Microsoft VBA 6.5 über Excel 2003 im Einsatz und habe das 
Problem, dass mein Datentyp Long bereits bei Werten < 16 Bit überläuft. 
Ich würde eine 32 Bit Variable für Ganzzahlen benötigen. Weiss jemand 
Rat? Danke und Gruss, Wigi.

Sub Test()

Dim LDx As Long

LDx = 128 * 256 'Laufzeitfehler 6: Überlauf

End Sub

von Peter (Gast)


Lesenswert?

ist ja merkwürdig,
ich konnte es aber hier auch nachvollziehen, es sieht so aus als ob der 
die Konstaten mit einem anderen Datentype verwendet.

Aber so geht es.

Sub Test()

Dim LDx As Long

Dim a As Long
a = 128

Dim b As Long
b = 256

LDx = a * b

von Wigi (Gast)


Lesenswert?

Aha ok, super danke! Ist ja irrwitzig.....

Gruss Wigi

von Stefan K. (stefan1971)


Lesenswert?

Man kann Literalen ein nachgestelltes Typkennzeichen mitgeben, dann 
funktioniert es ohne Umweg über Variable:

LDx = 128& * 256&   ' & = Kennzeichen für Datentyp Long

Welche Typkennzeichen es in VBA gibt, findet man z.B. auf 
http://bauwiki.tugraz.at/bin/view/VBA/DatenTypen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.