web-dev-qa-db-fra.com

VBA Comment déclarer en décimal

J'optimise une macro dans VBA dans laquelle aucun des types de données n'a été déclaré. Tout a donc été traité maladroitement par le compilateur comme une variante. J'ai affaire à des mesures scientifiques, alors j'ai besoin de précision. Comment déclarer "Dim decAsdf as Decimal" (pas comme ça mais comme il convient)?

18
Thomas Shera

Vous ne pouvez pas déclarer une variable sous la forme Decimal - vous devez utiliser Variant (vous pouvez utiliser CDec pour la remplir avec un type Decimal cependant).

19
Rory

Le meilleur moyen consiste à déclarer la variable sous la forme Single ou Double, en fonction de la précision requise. Le type de données Single utilise 4 octets et se situe dans la plage -3.402823E38 à 1.401298E45. Double utilise 8 octets.

Vous pouvez déclarer comme suit:

Dim decAsdf as Single

ou

Dim decAsdf as Double

Voici un exemple qui affiche une boîte de message avec la valeur de la variable après calcul. Tout ce que vous avez à faire est de le mettre dans un module et de l'exécuter.

Sub doubleDataTypeExample()
Dim doubleTest As Double


doubleTest = 0.0000045 * 0.005 * 0.01

MsgBox "doubleTest = " & doubleTest
End Sub
1
daytonrazorback