Fonction VBA CLng - Comment utiliser la fonction CLng? (avec exemples)

Table des matières

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 essentielles, alors la variable de type de données que nous attribuons à ces variables est encore plus critique car le type de données que nous leur attribuons est le résultat que nous obtenons.

Souvent, nous pouvons affecter les données numériques en tant que «String», ce qui entraînera une erreur lors des calculs, donc en utilisant des fonctions de conversion, nous pouvons convertir le type de données que nous voulons. Les fonctions de conversion couramment utilisées sont CLng, CInt, CDbl, CDate, CDec dans VBA. Dans cet article, nous allons vous présenter 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: Non-correspondance de type".

Exemples d'utilisation de la fonction CLng dans VBA

Exemple 1

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

Par 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é deux variables, String et Long, respectivement.

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 qu'il traitera le nombre «2564589» comme une chaîne, pas comme une variable «longue». Maintenant, pour l'autre variable, LongResult, nous avons utilisé la fonction Clng (LongNumber) pour convertir le numéro de ligne stocké en une variable LONG.

La boîte de message suivante affichera le résultat sous forme de nombre LONG 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 «Incompatibilité de type».

Comprendre pourquoi l'erreur se produit est fondamental pour corriger l'erreur. Lorsque vous examinez attentivement les variables de la première variable LongNumber, nous avons attribué la valeur de texte «Long Number», puis nous avons utilisé la fonction Excel VBA CLNG pour la 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. Par conséquent, il renvoie l'erreur «Type Mismatch».

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 de -2 147 483 648 2 147 483 647. Donc, tout montant supérieur à cela provoquera une erreur de dépassement.

Par 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, lors de la conversion de tout autre type de données en type de données Long, nous devons garder à l'esprit toutes les choses ci-dessus.

La 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 étendu pour éviter les erreurs de débordement.

Articles intéressants...