VBA Long

Qu'est-ce qu'un type de données long dans VBA?

Long est un type de données dans VBA qui est utilisé pour stocker les valeurs numériques, nous savons que l'entier contient également des valeurs numériques mais Long est différent des entiers car la plage de stockage des données est très grande en cas de type de données long également en long type de données, nous pouvons également contenir des valeurs décimales, il s'agit d'un type de données intégré.

«Long» comme son nom l'indique, il doit avoir la valeur de quelque chose de grand. «Long» est un type de données numériques dans VBA Excel.

Le type de données long dans Excel VBA peut contenir les valeurs de 0 à 2, 147, 483, 647 pour les nombres positifs et pour le nombre négatif, il peut contenir de 0 à -2, 147, 483, 648.

Le type de données VBA Long nécessite 4 octets de mémoire de stockage de votre ordinateur, il s'agit de la mémoire variable de type de données à double entier (2 octets) et de la moitié de la mémoire variable de type double données (8 octets)

Je n'ai jamais vu de scénario où je souhaite utiliser pleinement la limite d'un type de données VBA Long dans ma courte carrière. Mais je vais vous montrer quelques exemples pour mieux le comprendre.

Exemples de type de données VBA Long

Vous trouverez ci-dessous des exemples de type de données Excel VBA Long.

Vous pouvez télécharger ce modèle Excel de type de données long VBA ici - Modèle Excel de type de données long VBA

Exemple long VBA # 1

Dès que vous déclarez le type de données variable comme «Long», vous pouvez affecter les valeurs de -2, 147, 483, 648 à 2, 147, 483, 648.

Par exemple, déclarez la variable comme type de données long.

Code:

 Sub Long_Example1 () Dim k As Long End Sub 

Attribuons la valeur en tant que nombre total de lignes de la feuille de calcul.

Pour obtenir le nombre total de lignes dans le code de la feuille de calcul Excel, cliquez sur «Lignes. Compter"

Code:

 Sub Long_Example1 () Dim k As Long k = Rows.Count End Sub 

Maintenant, affichez la valeur dans la boîte de message.

Code:

 Sub Long_Example1 () Dim k As Long k = Rows.Count MsgBox k End Sub 

Exécutez ce code et voyez quel est le nombre total de lignes dans la feuille de calcul.

Il dit que nous avons plus d'un million de lignes dans la feuille de calcul.

Maintenant, pour une meilleure compréhension, je vais changer le type de données de LONG à INTEGER.

Code:

 Sub Long_Example1 () Dim k As Integer k = Rows.Count MsgBox k End Sub 

Si j'exécute le code VBA, j'obtiendrai le message d'erreur «Overflow».

La raison pour laquelle nous avons obtenu cette erreur dans VBA parce que le type de données «Integer» peut contenir les valeurs de -31768 à 32767, uniquement. Dans ce cas, «Rows. Count »renverra le nombre qui est supérieur à la limite de la variable« entier ».

L'attribution d'une valeur supérieure à 1 million à la variable qui ne peut contenir que 32767 provoque ici l'erreur de débordement.

Exemple long VBA # 2

Rechercher la dernière ligne à l'aide d'une variable longue

Trouver la dernière ligne utilisée de la feuille de calcul est le plus important du codage. Afin de trouver la dernière ligne utilisée de la feuille de calcul, une variable doit être déclarée. La déclaration de la variable et l'attribution d'un type de données nécessitent du bon sens.

Supposons que les données se terminent à 25000 lignes, comme indiqué dans l'image ci-dessous.

Maintenant, je sais que le dernier numéro de ligne utilisé est 25000, pour cela, nous n'avons pas besoin du type de données «LONG» car le type de données «INTEGER» peut me donner la dernière ligne.

Regardez le code ci-dessous pour votre information.

Code:

 Sub Long_Example1 () Dim k As Integer k = Cells (Rows.Count, 1) .End (xlUp) .Row MsgBox k End Sub 

Si j'exécute ce code, j'obtiendrai le dernier numéro de ligne utilisé de la feuille de calcul sur laquelle je travaille en ce moment.

En tant que codeur, il est important de connaître la taille des données que vous aurez à l'avenir. Parce que pour le moment, les données peuvent se terminer à la 25000ème ligne mais si les données augmentent au-delà de la limite «Integer», c'est-à-dire 32767, cela provoque une erreur de débordement.

Par exemple, je vais augmenter les données à 32768e lignes.

Maintenant, si je lance à nouveau le même code, je n'obtiendrai pas la valeur plutôt que j'obtiendrai l'erreur comme ci-dessous.

N'oubliez pas que j'ai augmenté la limite de seulement 1 au-delà de la limite de la valeur «Integer», donc j'ai eu une erreur de débordement.

Il est donc important de connaître la taille de vos données avant d'attribuer un type de données à la variable. Il est toujours préférable de déclarer la variable comme «LONG» sans penser à la taille de vos données à l'avenir.

Alternatives à Excel VBA Long Variable

Vous devez déjà penser à ce qui se passe si nous voulons conserver la valeur plus que la limite d'une variable longue. Pour cela, nous devons utiliser différents types de données, c'est-à-dire VBA «String» ou «Variant»

N'oubliez pas qu'au moment où il franchit le numéro 2147483647, nous obtiendrons une erreur de débordement dans VBA avec le type de données LONG. Pour stocker plus que ce nombre, nous devons utiliser le type de données «Chaîne» ou «Variante».

Pour String

Code:

 Sub Long_Example2 () Dim k As String k = 2147483648 MsgBox k End Sub 

Pour la variante

Code:

 Sub Long_Example2 () Dim k As Variant k = 2147483648 MsgBox k End Sub 

Lorsque nous exécutons les codes ci-dessus, il affichera le numéro mentionné.