VBA VAL | Cum se folosește funcția VBA VAL? (cu exemple)

Funcția Excel VBA Val

Funcția Val în vba intră sub funcțiile șirului, este, de asemenea, o funcție încorporată în VBA, care este utilizată pentru a obține valorile numerice dintr-o variabilă de date, să presupunem că dacă o variabilă are valoare ca A10, atunci funcția val ne va da 10 ca ieșire, ia un șir ca argument și returnează numerele prezente în șir.

VAL reprezintă VALUE în terminologia VBA. Această funcție convertește șirul care conține numere într-un număr real. De exemplu, dacă furnizați șirul de text „1234 Global”, acesta va returna doar partea numerică, adică 1234.

De multe ori, când descărcăm sau obținem date din numere web, sunt stocate de obicei ca valori text într-o foaie de calcul. Conversia textului în numere este cea mai grea sarcină dacă nu sunteți conștienți de funcția corectă în Excel. Ca funcție obișnuită a foii de lucru, avem o funcție numită VALUE care va converti tot șirul care reprezintă numerele în numere exacte cu o funcție simplă în foaia de lucru. În acest articol, vom arăta cum se poate realiza acest lucru în VBA folosind funcția VAL.

Sintaxă

Are un singur argument, adică String.

  • Șir: Este pur și simplu o valoare șir pe care încercăm să o scoatem din partea numerică.

Deci, funcția VAL convertește șirul furnizat într-o valoare numerică.

Notă: funcția VAL ignoră întotdeauna caracterele spațiale și continuă să citească numerele după caracterul sau caracterele spațiale.

De exemplu, dacă șirul furnizat este „145 45 666 3”, acesta va ignora caracterele spațiale și va întoarce rezultatul ca „145456663”.

Exemple de funcții VAL în Excel VBA

Puteți descărca acest șablon Excel VBA Val Function aici - Șablon Excel VBA Val Function

Exemplul nr. 1

Să încercăm primul exemplu cu un număr simplu, adică „14 56 47”

Codul de mai jos este pentru dvs.

Cod:

 Sub Val_Example1 () Dim k As Variant k = Val ("14 56 47") 'Conversia celor de mai sus ca 145647 MsgBox k End Sub 

Când rulați codul VBA folosind tasta F5 sau manual, acesta va returna rezultatul ca „145647” ignorând toate caracterele spațiale așa cum se arată în imaginea de mai jos.

Exemplul nr. 2

În acest exemplu, vom vedea care este rezultatul șirului „+456”.

Cod:

 Sub Val_Example2 () Dim k As Variant k = Val ("+ 456") 'Conversia celor de mai sus ca 456 MsgBox k End Sub 

Puteți rula acest cod manual sau prin intermediul tastei F5 pentru a returna valoarea 456 ignorând +456.

Exemplul nr. 3

Acum, încercați același număr cu un semn negativ.

Cod:

 Sub Val_Example3 () Dim k As Variant k = Val ("- 456") 'Conversia celor de mai sus ca -456 MsgBox k End Sub 

Acest cod va returna valoarea ca -456 doar pentru că ar trebui afișat numărul cu semnul operatorului.

Exemplul # 4

Acum, încercați acest șir „100 Kg”.

Cod:

 Sub Val_Example4 () Dim k As Variant k = Val ("100 KG") 'Ignoră KG și returnează doar 100 MsgBox k End Sub 

Dacă rulați acest cod manual sau utilizând cheia F5, atunci acest cod de mai sus ignoră „KG” și returnează doar „100” în caseta de mesaje VBA.

Exemplul # 5

Acum încercați șirul de date, adică „14-05-2018”.

Cod:

Sub Val_Example5 () Dim k As Variant k = Val ("14-05-2019") 'Returnează 14 ca rezultat. MsgBox k End Sub

Codul de mai sus returnează 14 ca rezultat, deoarece funcția VAL poate prelua doar valoarea numerică până când găsește alt caracter decât cel numeric.

Exemplul nr. 6

Acum încercați șirul „7459Good456”.

Cod:

Sub Val_Example6 () Dim k As Variant k = Val ("7459 Good 456") 'Returnează 7459 ca rezultat. MsgBox k End Sub

Aceasta va extrage numerele până când va găsi caracterul nenumeric, adică rezultatul este 7459. Chiar dacă există valori numerice după valoarea nenumerică „Bun”, acesta ignoră complet numerele după aceea.

Exemplul # 7

Acum încercați valoarea șirului „H 12456”.

Cod:

Sub Val_Example7 () Dim k As Variant k = Val ("H 12456") 'Returnează 0 ca rezultat. MsgBox k End Sub

Rulați codul de mai sus folosind comanda rapidă F5 sau manual, apoi returnează rezultatul ca zero. Deoarece primul caracter al șirului pe care l-am furnizat este un caracter nenumeric, rezultatul este zero.

Exemplul nr. 8

Acum încercați acest șir „24545. 2 ”.

Cod:

Sub Val_Example8 () Dim k As Variant k = Val ("24545. 2") 'Returnează 24545.2 ca rezultat. MsgBox k End Sub

Codul returnează rezultatul ca 24545.2 deoarece funcția VBA VAL consideră caracterul punct (.) Ca caracter zecimal și returnează rezultatul în consecință.