wake-up-neo.com

VBA Wie deklariert man als Dezimalzahl?

Ich optimiere ein Makro in VBA, für das keiner der Datentypen deklariert wurde, sodass der Compiler alles unbeholfen als Variante behandelt hat. Ich beschäftige mich mit wissenschaftlichen Messungen, also brauche ich Präzision. Wie deklariere ich "Dim decAsdf as Decimal" (nicht so, aber auf die richtige Weise)?

18
Thomas Shera

Sie können eine Variable nicht als Decimal deklarieren - Sie müssen Variant verwenden (Sie können jedoch CDec verwenden, um sie mit einem Decimal-Typ zu füllen).

19
Rory

Am besten deklarieren Sie die Variable als Single oder Double, je nachdem, welche Genauigkeit Sie benötigen. Der Datentyp Single verwendet 4 Bytes und reicht von -3.402823E38 bis 1.401298E45. Double verwendet 8 Bytes.

Sie können wie folgt deklarieren:

Dim decAsdf as Single

oder

Dim decAsdf as Double

Hier ist ein Beispiel, in dem ein Meldungsfeld mit dem Wert der Variablen nach der Berechnung angezeigt wird. Alles, was Sie tun müssen, ist es in ein Modul zu setzen und es auszuführen.

Sub doubleDataTypeExample()
Dim doubleTest As Double


doubleTest = 0.0000045 * 0.005 * 0.01

MsgBox "doubleTest = " & doubleTest
End Sub
1
daytonrazorback