VBA Double - Comment déclarer un double type de données dans VBA?

Type de données double Excel VBA

VBA Double est un type de type de données que nous attribuons pour déclarer des variables, qui est une version améliorée ou plus longue de la variable de type de données «Single» et est généralement utilisé pour stocker des décimales plus longues.

Le type de données VBA Integer convertit toujours les valeurs décimales en valeur entière la plus proche. Le type de données unique peut afficher jusqu'à deux chiffres de décimales. D'autre part, le type de données «Double» peut stocker des valeurs de -1,79769313486231E308 à -4,94065645841247E324 pour les valeurs négatives et pour les nombres positifs, il peut stocker des valeurs de 4,94065645841247E-324 à 1,79769313486232E308 .

Plus important encore, il consomme 8 octets de mémoire.

Exemples d'utilisation du type de données double VBA

Exemple 1

Avant de voir l'exemple du type de données «Double», regardons les exemples de codes de type de données «Integer» et «Single» dans VBA. Regardez le code VBA ci-dessous.

Code:

Sub Integer_Ex () Dim k As Integer k = 2.569999947164 MsgBox k End Sub

J'ai déclaré la variable «k» comme Integer et pour cette variable, j'ai attribué la valeur 2,569999947164.

Exécutons ce code manuellement ou en utilisant la touche de raccourci Excel F5, pour voir la valeur finale dans la boîte de message dans VBA.

Le résultat est affiché comme 3 au lieu du nombre fourni de 2,569999947164. La raison parce que VBA a converti le nombre en valeur entière la plus proche, c'est-à-dire 3.

Lorsque la valeur décimale est supérieure à 0,5, elle sera convertie en la valeur entière suivante, et lorsque la valeur décimale est inférieure à 0,51, elle sera convertie en une valeur inférieure à l'entier.

Maintenant, je vais changer le type de données d'Integer en Single.

Code:

Sub Integer_Ex () Dim k As Single k = 2,569999947164 MsgBox k End Sub

Exécutez le code via la touche de raccourci F5 et voyez quel numéro nous obtenons cette fois-ci.

Cette fois, nous avons obtenu le résultat 2,57, donc cette fois nous avons obtenu deux décimales. La valeur d'origine que nous avons attribuée était 2,569999947164, donc dans ce cas, troisième, la valeur décimale placée est 9, donc comme c'est plus de 5, il a converti la valeur décimale de la deuxième place 6 en 7.

Changez maintenant le type de données de Simple à Double.

Code:

Sub Integer_Ex () Dim k As Double k = 2,569999947164 MsgBox k End Sub

Maintenant, exécutez le code manuellement et voyez combien de chiffres nous obtenons dans le résultat de la boîte de message.

Cette fois, j'ai toutes les valeurs décimales. Nous pouvons fournir jusqu'à 14 chiffres de décimales sous le type de données Double.

Supposons que vous fournissiez une valeur supérieure à 14 décimales qui sera convertie en valeur la plus proche. Par exemple, regardez l'image ci-dessous.

J'ai tapé 15 décimales au lieu de 14. Si j'appuie sur la touche Entrée, ce sera de nouveau à 14 chiffres seulement.

Au lieu de 59 (deux derniers chiffres), nous avons obtenu 6, c'est-à-dire que le dernier chiffre étant 9, ce qui est supérieur à 5, le numéro précédent 5 est converti en la valeur entière suivante, c'est-à-dire 6

Exemple # 2

Maintenant, je vais montrer comment travailler avec la référence de cellule dans une feuille de calcul. Voici les chiffres que j'ai entrés dans la feuille de calcul.

Commençons par capturer les mêmes valeurs au suivant en utilisant le type de données INTEGER, le type de données SINGLE et le type DOUBLE .

Vous trouverez ci-dessous le code permettant de conserver les valeurs de la colonne A à B à l'aide du type de données INTEGER.

Code:

Sub Double_Ex () Dim k As Integer Dim CellValue As Integer For k = 1 To 6 CellValue = Cells (k, 1) .Value Cells (k, 2) .Value = CellValue Next k End Sub

Exécutons le code via la touche de raccourci F5 pour voir quelles valeurs nous obtenons dans la colonne B.

Lorsque nous avons utilisé Integer comme type de données, nous avons obtenu tous les nombres entiers, c'est-à-dire sans décimales.

Maintenant, je vais simplement changer le type de données VBA d'une variable d'entier en Single.

Code:

Sub Double_Ex () Dim k As Integer Dim CellValue As Single For k = 1 To 6 CellValue = Cells (k, 1) .Value Cells (k, 2) .Value = CellValue Next k End Sub

Ce code donnera le résultat ci-dessous.

Cette fois, nous n'avons que deux décimales.

Modifie maintenant le type de données de simple à double.

Code:

Sub Double_Ex () Dim k As Integer Dim CellValue As Double For k = 1 To 6 CellValue = Cells (k, 1) .Value Cells (k, 2) .Value = CellValue Next k End Sub

Cela renverra le résultat ci-dessous.

Nous avons des valeurs exactes de la colonne A.

Choses dont il faut se rappeler

  • Double est un type de données amélioré de type de données unique.
  • Il peut contenir jusqu'à 14 décimales.
  • Il consomme 8 octets de mémoire système.

Articles intéressants...