Hallo zusammen,
hatte von euch einer schonmal das Problem, dass Variablen nur Zahlen im Integer-Wertebereich zugewiesen werden konnte? Auch wenn ich die Variable als Long, Variant, Double oder LongLong definiere, ich kann immer nur Zahlen bis 32.767 zuweisen. Wenn ich höhere Werte zuweise, läuft er auf einen Overflow Fehler.
Hier ist mein Code
Option Explicit
Sub Master()
Dim test As Long 'no matter which data type is set here Long, Double, LongLong, Currency, Variant
'the results of the next lines never change
'test = CLng(test) 'just a try but didn't work either
Debug.Print TypeName(test) 'shows that the variable has the correct data type assigned as defined above,
'but still i can't assign values beyond integer limits
test = (1 / 3) * 32 * 33 * 33 'works bc value never exceeds integer limit
test = 32 * 33 * 33 * (1 / 3) 'doesn't work: overflow error (bc value goes beyond integer limits)
test = 32 * 33 * 34 'which should be 34.848 - slightly over the integer limit
'doesn't work: overflow error
Debug.Print test
End Sub
Ich habe es bereits auf einem anderen Laptop getestet, gleiches Phänomen. Hat das vielleicht was mit 32bit/64bit zu tun? Was mache ich falsch?
Danke für eure Unterstützung, Anmerkungen etc
LG Sebastian
Prozessor: AMD Ryzen 7 3700U with Radeon Vega Mobile Gfx 2.30Ghz
RAM: 8,00GB ( 5,94 GB verwendbar)
Systemtyp: 64-Bit-Betriebssystem, x64-basierter Prozessor
Windows 10 Enterprise, Version 1909, Betriebssystembuild 18363.1916
Microsoft Excel für Microsoft 365 (MSO 16.0.13801.20442) 64-Bit
|