VBA VAL | Kako uporabiti funkcijo VBA VAL? (s primeri)

Funkcija Excel VBA Val

Funkcija Val v vba spada pod funkcije nizov, prav tako je vgrajena funkcija v VBA, ki se uporablja za pridobivanje številskih vrednosti iz podatkovne spremenljivke. Recimo, če ima spremenljivka vrednost kot A10, nam bo funkcija val dala 10 kot izhod, vzame niz kot argument in vrne številke, ki so v nizu.

VAL v terminologiji VBA pomeni VALUE. Ta funkcija pretvori niz, ki vsebuje številke, v dejansko število. Če na primer vnesete besedilni niz »1234 Global«, bo vrnil le številčni del, tj. 1234.

Pogosto se časi, ko podatke prenesemo ali dobimo s spletnih številk, običajno shranijo kot besedilne vrednosti v preglednici. Pretvorba besedila v številke je najtežja naloga, če v Excelu ne poznate pravilne funkcije. Kot običajna funkcija delovnega lista imamo funkcijo VALUE, ki bo s preprosto funkcijo na delovnem listu pretvorila vse nize, ki predstavljajo števila, v natančna števila. V tem članku bomo pokazali, kako je to mogoče doseči v VBA s pomočjo funkcije VAL.

Sintaksa

Ima samo en argument, tj. String.

  • String: To je preprosto nizna vrednost, iz katere poskušamo izvleči številčni del.

Torej, funkcija VAL pretvori priloženi niz v številčno vrednost.

Opomba: Funkcija VAL vedno prezre presledke in še naprej bere številke za presledkom ali znaki.

Če je na primer niz »145 45 666 3«, bo preskočne znake prezrl in rezultat vrnil kot »145456663«.

Primeri funkcije VAL v Excelu VBA

To predlogo funkcije VBA Val Excel lahko prenesete tukaj - Predloga VBA funkcije Val Excel

Primer # 1

Preizkusimo prvi primer s preprosto številko, tj. "14 56 47"

Spodnja koda je za vas.

Koda:

 Sub Val_Example1 () Dim k As Variant k = Val ("14 56 47") 'Pretvori zgornje kot 145647 MsgBox k End Sub 

Ko zaženete kodo VBA s tipko F5 ali ročno, bo rezultat vrnil kot »145647« z ignoriranjem vseh presledkov, kot je prikazano na spodnji sliki.

2. primer

V tem primeru bomo videli, kakšen je rezultat niza »+456«.

Koda:

 Sub Val_Example2 () Dim k As Variant k = Val ("+ 456") 'Pretvori zgornje v 456 MsgBox k End Sub 

To kodo lahko zaženete ročno ali s tipko F5, da vrnete vrednost kot 456, tako da prezrete +456.

3. primer

Zdaj poskusite isto številko z negativnim predznakom.

Koda:

 Sub Val_Example3 () Dim k As Variant k = Val ("- 456") 'Pretvori zgornje v -456 MsgBox k End Sub 

Ta koda bo vrnila vrednost kot -456 samo zato, ker mora biti prikazana številka z znakom operaterja.

Primer # 4

Zdaj poskusite s tem nizom "100 Kg".

Koda:

 Sub Val_Example4 () Dim k As Variant k = Val ("100 KG") 'Prezre KG in vrne samo 100 MsgBox k End Sub 

Če to kodo zaženete ročno ali s tipko F5, zgornja koda prezre “KG” in v polju za sporočila VBA vrne samo “100”.

Primer # 5

Zdaj poskusite z datumskim nizom, tj. »14-05-2018«.

Koda:

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

Zgornja koda vrne 14 kot rezultat, ker lahko funkcija VAL pridobi le številčno vrednost, dokler ne najde drugega, razen številskega znaka.

Primer # 6

Zdaj poskusite z nizom "7459Good456".

Koda:

Sub Val_Example6 () Dim k Kot Variant k = Val ("7459 Dobro 456") 'Vrne 7459 kot rezultat. MsgBox k End Sub

To bo izvleklo številke, dokler ne bo našlo neštevilskega znaka, tj. Rezultat je 7459. Čeprav obstajajo številske vrednosti za neštevilsko vrednostjo "Dobro", po tem števila popolnoma prezre.

7. primer

Zdaj poskusite z vrednostjo niza “H 12456”.

Koda:

Sub Val_Example7 () Dim k As Variant k = Val ("H 12456") 'Vrne 0 kot rezultat. MsgBox k End Sub

Zgornjo kodo zaženite s tipko za bližnjico F5 ali ročno, nato pa rezultat vrne kot nič. Ker je prvi znak niza, ki smo ga poslali, nenumeričen, je rezultat nič.

Primer # 8

Zdaj poskusite s tem nizom »24545. 2 ".

Koda:

Sub Val_Example8 () Dim k Kot Variant k = Val ("24545. 2") 'Vrne 24545.2 kot rezultat. MsgBox k End Sub

Koda vrne rezultat kot 24545.2, ker funkcija VBA VAL upošteva piko znaka (.) Kot decimalni znak in rezultat vrne.