Fonction VBA Val

Fonction Excel VBA Val

La fonction Val dans vba relève des fonctions de chaîne, c'est aussi une fonction intégrée dans VBA qui est utilisée pour obtenir les valeurs numériques d'une variable de données, supposons que si une variable a une valeur comme A10 alors la fonction val nous donnera 10 en sortie, elle prend une chaîne comme argument et renvoie les nombres présents dans la chaîne.

VAL signifie VALUE dans la terminologie VBA. Cette fonction convertit la chaîne contenant des nombres en un nombre réel. Par exemple, si vous fournissez la chaîne de texte «1234 Global», il ne renverra que la partie numérique, c'est-à-dire 1234.

Souvent, lorsque nous téléchargeons ou obtenons les données à partir de numéros Web, sont généralement stockées sous forme de valeurs de texte dans une feuille de calcul. La conversion de texte en nombres est la tâche la plus difficile si vous ne connaissez pas la fonction correcte dans Excel. En tant que fonction de feuille de calcul ordinaire, nous avons une fonction appelée VALUE qui convertira toute la chaîne qui représente des nombres en nombres exacts avec une fonction simple dans la feuille de calcul. Dans cet article, nous montrerons comment cela peut être réalisé dans VBA à l'aide de la fonction VAL.

Syntaxe

Il n'a qu'un seul argument, à savoir String.

  • Chaîne: Il s'agit simplement d'une valeur de chaîne dont nous essayons d'en extraire la partie numérique.

Ainsi, la fonction VAL convertit la chaîne fournie en une valeur numérique.

Remarque: la fonction VAL ignore toujours les caractères d'espacement et continue de lire les nombres après le ou les caractères d'espacement.

Par exemple, si la chaîne fournie est «145 45 666 3», elle ignorera les espaces et renverra le résultat sous la forme «145456663».

Exemples de fonction VAL dans Excel VBA

Vous pouvez télécharger ce modèle Excel de la fonction VBA Val ici - Modèle Excel de la fonction VBA Val

Exemple 1

Essayons le premier exemple avec un nombre simple, à savoir "14 56 47"

Le code ci-dessous est pour vous.

Code:

 Sub Val_Example1 () Dim k As Variant k = Val ("14 56 47") 'Convertir ce qui précède en 145647 MsgBox k End Sub 

Lorsque vous exécutez le code VBA à l'aide de la touche F5 ou manuellement, il renverra le résultat sous la forme «145647» en ignorant tous les caractères d'espace comme indiqué dans l'image ci-dessous.

Exemple # 2

Dans cet exemple, nous verrons quel est le résultat de la chaîne "+456".

Code:

 Sub Val_Example2 () Dim k As Variant k = Val ("+ 456") 'Convertir ce qui précède en 456 MsgBox k End Sub 

Vous pouvez exécuter ce code manuellement ou via la touche F5 pour renvoyer la valeur 456 en ignorant +456.

Exemple # 3

Maintenant, essayons le même nombre avec un signe négatif.

Code:

 Sub Val_Example3 () Dim k As Variant k = Val ("- 456") 'Convertir ce qui précède en -456 MsgBox k End Sub 

Ce code renverra la valeur comme -456 uniquement parce que le nombre avec le signe de l'opérateur doit être affiché.

Exemple # 4

Maintenant, essayons cette chaîne «100 Kg».

Code:

 Sub Val_Example4 () Dim k As Variant k = Val ("100 KG") 'Ignore KG et renvoie seulement 100 MsgBox k End Sub 

Si vous exécutez ce code manuellement ou en utilisant la touche F5, ce code ci-dessus ignore «KG» et renvoie uniquement «100» dans la boîte de message VBA.

Exemple # 5

Maintenant, essayez la chaîne de date par exemple «14-05-2018».

Code:

Sub Val_Example5 () Dim k As Variant k = Val ("14-05-2019") 'Renvoie 14 comme résultat. MsgBox k End Sub

Le code ci-dessus renvoie 14 comme résultat car la fonction VAL ne peut récupérer la valeur numérique que jusqu'à ce qu'elle trouve un caractère autre que numérique.

Exemple # 6

Maintenant, essayez la chaîne «7459Good456».

Code:

Sub Val_Example6 () Dim k As Variant k = Val ("7459 Good 456") 'Renvoie 7459 comme résultat. MsgBox k End Sub

Cela extraira les nombres jusqu'à ce qu'il trouve le caractère non numérique, c'est-à-dire que le résultat est 7459. Même s'il y a des valeurs numériques après la valeur non numérique «Bon», il ignore complètement les nombres après cela.

Exemple # 7

Essayez maintenant la valeur de chaîne «H 12456».

Code:

Sub Val_Example7 () Dim k As Variant k = Val ("H 12456") 'Renvoie 0 comme résultat. MsgBox k End Sub

Exécutez le code ci-dessus à l'aide de la touche de raccourci F5 ou manuellement, puis il renvoie le résultat comme zéro. Étant donné que le tout premier caractère de la chaîne que nous avons fourni est un caractère non numérique, le résultat est zéro.

Exemple # 8

Maintenant, essayez cette chaîne «24545. 2 ”.

Code:

Sub Val_Example8 () Dim k As Variant k = Val ("24545. 2") 'Renvoie 24545,2 comme résultat. MsgBox k End Sub

Le code renvoie le résultat comme 24545.2 car la fonction VBA VAL considère le caractère point (.) Comme le caractère décimal et renvoie le résultat en conséquence.