VBA VAL | Kako koristiti VBA VAL funkciju? (s primjerima)

Excel VBA Val funkcija

Val funkcija u vba dolazi pod string funkcije, ona je također ugrađena funkcija u VBA koja se koristi za dobivanje numeričkih vrijednosti iz varijable podataka, pretpostavimo da ako varijabla ima vrijednost kao A10, tada će nam funkcija val dati 10 kao izlaz, uzima niz kao argument i vraća brojeve prisutne u nizu.

VAL je kratica VALUE u terminologiji VBA. Ova funkcija pretvara niz koji sadrži brojeve u stvarni broj. Na primjer, ako navedete tekstualni niz "1234 Global", vratit će se samo numerički dio, tj. 1234.

Često se slučajevi kada podatke preuzmemo ili dobijemo s web brojeva obično pohranjuju kao tekstualne vrijednosti u proračunskoj tablici. Pretvaranje teksta u brojeve najteži je zadatak ako niste svjesni ispravne funkcije u Excelu. Kao uobičajenu funkciju radnog lista, imamo funkciju koja se naziva VRIJEDNOST koja će pretvoriti sav niz koji predstavlja brojeve u točne brojeve jednostavnom funkcijom u radnom listu. U ovom ćemo članku pokazati kako se to može postići u VBA pomoću funkcije VAL.

Sintaksa

Ima samo jedan argument tj. String.

  • Niz: To je jednostavno vrijednost niza iz koje pokušavamo izvući numerički dio.

Dakle, funkcija VAL pretvara isporučeni niz u numeričku vrijednost.

Napomena: Funkcija VAL uvijek zanemaruje razmake i nastavlja čitati brojeve nakon razmaka ili znakova.

Na primjer, ako je isporučeni niz "145 45 666 3", zanemarit će razmake i vratiti rezultat kao "145456663".

Primjeri funkcije VAL u programu Excel VBA

Ovdje možete preuzeti ovaj VBA Val Function Excel predložak - VBA Val Function Excel Predložak

Primjer # 1

Isprobajmo prvi primjer s jednostavnim brojem, tj. "14 56 47"

Ispod je kod za vas.

Kodirati:

 Sub Val_Example1 () Dim k As Variant k = Val ("14 56 47") 'Pretvorite gore navedeno u 145647 MsgBox k End Sub 

Kada VBA kôd pokrenete pomoću tipke F5 ili ručno, rezultat će se vratiti kao "145647" ignoriranjem svih razmaka kao što je prikazano na donjoj slici.

Primjer # 2

U ovom ćemo primjeru vidjeti kakav je rezultat niza "+456".

Kodirati:

 Sub Val_Example2 () Dim k As Variant k = Val ("+ 456") 'Pretvorite gore navedeno u 456 MsgBox k End Sub 

Ovaj kôd možete pokrenuti ručno ili putem tipke F5 da biste vratili vrijednost kao 456 zanemarujući +456.

Primjer # 3

Pokušajmo sada s istim brojem s negativnim predznakom.

Kodirati:

 Sub Val_Example3 () Dim k As Variant k = Val ("- 456") 'Pretvori gore navedeno u -456 MsgBox k End Sub 

Ovaj kôd vratit će vrijednost -456 samo zato što bi trebao biti prikazan broj sa znakom operatora.

Primjer # 4

Pokušajte sada s ovim nizom "100 Kg".

Kodirati:

 Sub Val_Example4 () Dim k As Variant k = Val ("100 KG") 'Zanemaruje KG i vraća samo 100 MsgBox k End Sub 

Ako ovaj kôd pokrenete ručno ili pomoću tipke F5, gornji kôd zanemaruje "KG" i vraća samo "100" u okvir za poruku VBA.

Primjer # 5

Pokušajte s datumskim nizom, tj. "14-05-2018".

Kodirati:

Sub Val_Example5 () Dim k As Variant k = Val ("14-05-2019") 'Vraća 14 kao rezultat. MsgBox k Kraj Sub

Gornji kod vraća 14 kao rezultat, jer funkcija VAL može dohvatiti numeričku vrijednost samo dok ne pronađe bilo koji drugi osim numerički znak.

Primjer # 6

Sada isprobajte niz "7459Good456".

Kodirati:

Sub Val_Example6 () Dim k Kao varijanta k = Val ("7459 Dobro 456") 'Vraća 7459 kao rezultat. MsgBox k Kraj Sub

To će vaditi brojeve dok ne pronađe nenumerički znak, tj. Rezultat je 7459. Iako postoje numeričke vrijednosti nakon nenumeričke vrijednosti "Dobro", nakon toga u potpunosti zanemaruje brojeve.

Primjer # 7

Sada isprobajte vrijednost niza "H 12456".

Kodirati:

Sub Val_Example7 () Dim k Kao varijanta k = Val ("H 12456") 'Vraća 0 kao rezultat. MsgBox k Kraj Sub

Pokrenite gornji kôd pomoću tipke prečaca F5 ili ručno, a rezultat vraća kao nulu. Budući da je prvi znak niza koji smo naveli nenumerički znak, pa je rezultat nula.

Primjer # 8

Sada isprobajte ovaj niz “24545. 2 ”.

Kodirati:

Sub Val_Example8 () Dim k Kao varijanta k = Val ("24545. 2") 'Vraća 24545.2 kao rezultat. MsgBox k Kraj Sub

Kôd vraća rezultat kao 24545.2 jer funkcija VBA VAL smatra točku znaka (.) Kao decimalni znak i u skladu s tim vraća rezultat.