Chaîne VBA en entier - Utiliser la fonction CINT pour la conversion de données

Table des matières

Chaîne VBA Excel en entier

String et Integer sont des types de données courants, mais souvent dans le cadre de notre analyse de données, nous souhaitons peut-être convertir une variable de type de données chaîne en type de données entier, ce qui est possible en utilisant la fonction «CINT» dans VBA.

Syntaxe de la fonction CINT

«CINT» est classé comme une fonction de conversion de type de données. Cette fonction convertit l'expression fournie en un type de données Integer. Quand je dis «Expression», il doit s'agir d'une valeur numérique qui se situe dans la plage de type de données Integer dans VBA, c'est-à-dire entre -32768 et 32767.

Maintenant, regardez la syntaxe de la fonction CINT dans VBA.

  • Expression est la valeur ou la variable qui contient la valeur à convertir en type de données entier.
Remarque 1: Juste au moment où vous passez, la valeur de l'expression doit être comprise entre -32768 et 32767. Sinon, cela entraînera une «erreur de dépassement de débit», c'est-à-dire attribuer la valeur qui est au-dessus de la limite du type de données. Remarque 2: l' expression doit être une valeur numérique. Si l'expression est une valeur de chaîne ou une valeur de texte, cela provoquera une "Erreur d'exécution 13: Non-correspondance de type".

Dans cet article, nous allons vous montrer la conversion de type de données entier de chaîne en entier à l'aide de la fonction «CINT».

Exemples de fonction CINT dans VBA

Exemple 1

Examinons le premier exemple de conversion d'un nombre de fraction en type de données entier.

Code:

Sub CINT_Example1 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 2564.589 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
  • Dans le code ci-dessus pour la variable «IntegerNumber», j'ai attribué la valeur «2564.589».
  • Dans la ligne suivante, j'ai appliqué une fonction CINT. Il convertira donc la valeur fournie en nombre entier le plus proche.

Nous avons donc obtenu le résultat - 2565, et le numéro fourni est 2564.589. Lorsque la valeur décimale est supérieure à 0,5, les fonctions CINT arrondissent le nombre au nombre entier suivant. Lorsque la valeur décimale est inférieure ou égale à 0,5, les fonctions CINT arrondissent au même nombre entier.

Pour un exemple, regardez le code ci-dessous où le nombre est inférieur à 0,5

Code:

Sub CINT_Example1 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 2564 - 0.5 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub

Cela devrait donner le résultat 2564, pas 2565.

Exemple # 2

Maintenant, je vais essayer d'attribuer le nombre qui est supérieur à la limite du type de données Integer.

Code:

Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 51456.785 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub

J'ai attribué le nombre comme "IntegerNumber = 51456.785" qui est plus que la limite de la limite de type de données Integer. Maintenant, si j'essaye d'exécuter le code, cela lancera une erreur de débordement dans VBA.

Chaque fois que le nombre fourni est supérieur au type de données Integer, affiche la boîte de message simple indiquant «Le nombre est supérieur à la limite du type de données entier».

Code:

Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 51456.785 En cas d'erreur GoTo Message: IntegerResult = CInt (IntegerNumber) Message: If Err.Number = 6 Then MsgBox IntegerNumber & "est plus que la limite du type de données entier" End Sub

Cela affichera le message comme ci-dessous chaque fois que le nombre fourni est hors de la plage du type de données Integer.

Exemple # 3

Maintenant, je vais essayer d'attribuer la valeur qui n'est pas numérique.

Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = "Hello" IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub

J'ai attribué la valeur «Bonjour» qui n'est pas numérique. Cela provoque une «erreur de non-concordance de type».

Au lieu d'afficher l'erreur comme celle-ci, mettons une simple boîte de message d'information devant l'utilisateur. Le code ci-dessous mettra la boîte de message disant «La valeur d'expression fournie est non numérique, donc ne peut pas être convertie».

Code:

Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = "Hello" On Error GoTo Message: IntegerResult = CInt (IntegerNumber) Message: If Err.Number = 13 Then MsgBox IntegerNumber & ": La valeur d'expression fournie est non numérique , Donc ne peut pas être converti "End Sub

Cela affichera la boîte de message ci-dessous.

Choses dont il faut se rappeler

  • CINT convertit la valeur d'un autre type de données en un type de données entier.
  • Un entier peut contenir des valeurs de -32768 à 32767 tout ce qui dépasse ces nombres provoquera une erreur de dépassement de capacité.
  • Seul le type de données chaîne contient des données numériques qui seront converties en un type de données entier.

Articles recommandés

Cela a été un guide de VBA String to Integer. Ici, nous discutons des exemples de chaîne en entier dans Excel VBA en utilisant la fonction CINT avec des exemples pratiques et un modèle Excel téléchargeable. Voici quelques articles utiles liés à VBA -

  • Chaîne divisée VBA en tableau
  • Chaîne VBA à ce jour
  • Comparaison des chaînes VBA
  • Chaîne de remplacement VBA

Articles intéressants...