VBA CLng

Fonction Excel VBA CLng

«CLNG» signifie le type de données «Convertir en Long». La limite de type de données entier est comprise entre -32768 et 32767, donc tout excédent que vous souhaitez stocker dans ces variables, nous devons utiliser le type de données LONG dans VBA.

Les variables sont essentielles dans n'importe quel langage de programmation et VBA n'est pas différent non plus. Sans utiliser de variables, il est presque impossible d'écrire des codes longs. Si les variables sont importantes, la variable de type de données que nous attribuons à ces variables est encore plus importante car le type de données que nous leur attribuons est le résultat final que nous obtenons.

Souvent, nous pouvons attribuer les données numériques en tant que «chaîne», ce qui entraînera une erreur lors des calculs. Ainsi, en utilisant les fonctions de conversion, nous pouvons convertir le type de données souhaité. Les fonctions de conversion couramment utilisées sont CLng, CInt, CDbl, CDate, CDec dans vba. Dans cet article, nous allons vous montrer la fonction de conversion de type de données entier «CLNG».

Syntaxe

Voici la syntaxe de la fonction CLNG.

  • L'expression n'est rien d'autre que la valeur ou la variable que nous voulons convertir en type de données LONG.

Remarque: La valeur que nous essayons de convertir doit être une valeur numérique autre que numérique provoquera une "Erreur d'exécution 13: Type Mismatch"

Exemples d'utilisation de la fonction CLng dans VBA

Vous pouvez télécharger ce modèle Excel VBA CLNG ici - Modèle Excel VBA CLNG

Exemple 1

Nous allons maintenant voir comment convertir la valeur stockée du texte en type de données «Long».

Pour un exemple, regardez le code ci-dessous.

Code:

 Sub CLNG_Example1 () Dim LongNumber As String Dim LongResult As Long LongNumber = "2564589" LongResult = CLng (LongNumber) MsgBox LongResult End Sub 

Alors, examinez maintenant attentivement le code pour comprendre comment cela fonctionne.

Tout d'abord, nous avons déclaré respectivement deux variables String et Long.

Code:

 Dim LongNumber As String Dim LongResult As Long 

Pour la variable chaîne, nous avons attribué le numéro de valeur mais entre guillemets, donc ce que cela fera, c'est traiter le nombre «2564589» comme une chaîne, pas comme une variable «Long». Maintenant, pour l'autre variable LongResult, nous avons utilisé la fonction Clng (LongNumber) pour convertir la chaîne de nombres stockée en une variable LONG.

La boîte de message suivante affichera le résultat sous la forme d'un nombre LONG qui est converti de chaîne en type de données long.

Production:

Exemple # 2

Jetez maintenant un œil au code ci-dessous.

Code:

 Sub CLNG_Example2 () Dim LongNumber As String Dim LongResult As Long LongNumber = "Long Number" LongResult = CLng (LongNumber) MsgBox LongResult End Sub 

Cela devrait nous donner le résultat «Type Mismatch» .

Comprendre pourquoi l'erreur se produit est très important pour corriger l'erreur. Lorsque vous examinez de près les variables de la première variable LongNumber, nous avons attribué la valeur de texte en tant que «Long Number», puis nous avons utilisé la fonction Excel VBA CLNG pour le convertir en type de données LONG.

La raison pour laquelle nous avons cette erreur est que le type de données LONG ne peut accepter que le type de données numérique puisque nous avons fourni une valeur de chaîne à la variable, il ne peut pas convertir la valeur de chaîne ou la valeur de texte en un type de données long, donc il donne l'erreur comme " Incompatibilité de type".

Exemple # 3

Une autre erreur que nous obtenons avec le type de données LONG est «Erreur de débordement dans vba», c'est-à-dire que le type de données variable Long peut contenir des valeurs comprises entre -2 147 483 648 et 2 147 483 647. Donc, toute valeur supérieure à cela provoquera une erreur de dépassement de capacité.

Pour un exemple, regardez le code ci-dessous.

Code:

 Sub CLNG_Example3 () Dim LongNumber As String Dim LongResult As Long LongNumber = "25645890003" LongResult = CLng (LongNumber) MsgBox LongResult End Sub 

Pour la variable «LongNumber», j'ai attribué le numéro «25645890003» qui dépasse la limite du type de données «Long». Lorsque nous exécutons le code ci-dessus, il rencontrera une erreur «Overflow» .

Ainsi, lorsque vous convertissez un autre type de données en type de données Long, nous devons garder à l'esprit toutes les choses ci-dessus.

Chose à retenir ici

  • CLNG signifie convertir en long.
  • Cette fonction convertit l'autre type de données en un type de données long.
  • Vous devez connaître la limite du type de données long pour éviter les erreurs de débordement.