VBA Long (exemple) - Guide étape par étape du type de données long dans Excel VBA

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, devrait 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 stockage mémoire de votre ordinateur. Il s'agit de la mémoire de variables de type de données à double entier (2 octets) et de la moitié de la mémoire de variables de type de données double (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.

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. Lors de la déclaration de la variable et de l'affectation d'un type de données, il faut du bon sens.

Supposons que les données se terminent par 25 000 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 25 000 e ligne, mais si les données augmentent au-delà de la limite «Integer», c'est-à-dire 32 767, cela provoque une erreur de dépassement de capacité.

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

Maintenant, si j'exécute à nouveau le même code, je n'obtiendrai pas la valeur. Au contraire, 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à réfléchir à ce qui se passe si nous voulons conserver la valeur au-delà de la limite d'une variable longue. Pour cela, nous devons utiliser différents types de données, c'est-à-dire VBA «String» ou «Variant».

Rappelez-vous, 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é.

Articles intéressants...