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)?
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).
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