VBA VAL | Com s'utilitza la funció VBA VAL? (amb exemples)

Funció Excel VBA Val

Funció val en vba ve a les funcions de cadena, també és una funció incorporada a VBA que s’utilitza per obtenir els valors numèrics d’una variable de dades, suposem que si una variable té un valor com A10, la funció val ens donarà 10 com a sortida, pren una cadena com un argument i retorna els números presents a la cadena.

VAL significa VALUE a la terminologia VBA. Aquesta funció converteix la cadena que conté nombres en un nombre real. Per exemple, si proporcioneu la cadena de text "1234 Global", només retornarà la part numèrica, és a dir, 1234.

Sovint, quan baixem o obtenim dades de números web, normalment s’emmagatzemen com a valors de text en un full de càlcul. La conversió de text a números és la tasca més difícil si no coneixeu la funció correcta a Excel. Com a funció normal del full de treball, tenim una funció anomenada VALUE que convertirà tota la cadena que representa els nombres en nombres exactes amb una funció senzilla al full de treball. En aquest article, mostrarem com es pot aconseguir això en VBA mitjançant la funció VAL.

Sintaxi

Només té un argument és a dir, String.

  • Cadena: És simplement un valor de cadena que estem intentant treure’n la part numèrica.

Per tant, la funció VAL converteix la cadena proporcionada en un valor numèric.

Nota: La funció VAL sempre ignora els caràcters espacials i continua llegint els números després del caràcter o caràcters espacials.

Per exemple, si la cadena subministrada és "145 45 666 3" ignorarà els caràcters de l'espai i retornarà el resultat com a "145456663".

Exemples de funció VAL a Excel VBA

Podeu descarregar aquesta plantilla Excel de la funció Val de VBA aquí: plantilla Excel de la funció Val de VBA

Exemple 1

Provem el primer exemple amb un número simple, és a dir, "14 56 47"

El codi següent és per a vosaltres.

Codi:

 Sub Val_Example1 () Dim k Variant k = Val ("14 56 47") 'Converteix l'anterior en 145647 MsgBox k Final Sub 

Quan executeu el codi VBA amb la tecla F5 o manualment, tornarà el resultat com a "145647" ignorant tots els caràcters d'espai tal com es mostra a la imatge següent.

Exemple 2

En aquest exemple, veurem quin és el resultat de la cadena "+456".

Codi:

 Sub Val_Exemple2 () Dim k Variant k = Val ("+ 456") 'Converteix l'anterior en 456 MsgBox k Final Sub 

Podeu executar aquest codi manualment o mitjançant la tecla F5 per retornar el valor com a 456 ignorant +456.

Exemple 3

Ara provem el mateix número amb un signe negatiu.

Codi:

 Sub Val_Example3 () Dim k As Variant k = Val ("- 456") 'Converteix l'anterior en -456 MsgBox k Final Sub 

Aquest codi retornarà el valor com -456 només perquè s'ha de mostrar el número amb el signe de l'operador.

Exemple # 4

Ara provem aquesta cadena "100 Kg".

Codi:

 Sub Val_Example4 () Dim k As Variant k = Val ("100 KG") 'Ignora KG i retorna només 100 MsgBox k Final Sub 

Si executeu aquest codi manualment o amb la tecla F5, aquest codi anterior ignora "KG" i només retorna "100" al quadre de missatge VBA.

Exemple núm. 5

Ara proveu la cadena de dates, és a dir, "14-05-2018".

Codi:

 Sub Val_Example5 () Dim k As Variant k = Val ("14-05-2019") 'Retorna 14 com a resultat. MsgBox k End Sub 

El codi anterior retorna 14 com a resultat perquè la funció VAL només pot obtenir el valor numèric fins que no trobi cap altre caràcter que no sigui numèric.

Exemple núm. 6

Ara proveu la cadena "7459Good456".

Codi:

 Sub Val_Example6 () Dim k As Variant k = Val ("7459 Good 456") 'Retorna 7459 com a resultat. MsgBox k End Sub 

Això extreurà els números fins que trobi el caràcter no numèric, és a dir, el resultat sigui 7459. Tot i que hi ha valors numèrics després del valor no numèric "Bé", ignora completament els números després.

Exemple núm. 7

Ara proveu el valor de la cadena "H 12456".

Codi:

 Sub Val_Example7 () Dim k As Variant k = Val ("H 12456") 'Retorna 0 com a resultat. MsgBox k End Sub 

Executeu el codi anterior utilitzant la tecla de drecera F5 o manualment i torna el resultat com a zero. Com que el primer caràcter de la cadena que hem proporcionat és un caràcter no numèric, el resultat és zero.

Exemple núm. 8

Ara proveu aquesta cadena “24545. 2 ”.

Codi:

 Sub Val_Example8 () Dim k As Variant k = Val ("24545. 2") 'Retorna 24545.2 com a resultat. MsgBox k End Sub 

El codi retorna el resultat com a 24545,2 perquè la funció VBA VAL considera el caràcter punt (.) Com a caràcter decimal i retorna el resultat en conseqüència.