VBA VAL - Hvordan bruges VBA VAL-funktion? (med eksempler)

Indholdsfortegnelse

Excel VBA Val-funktion

Val-funktion i vba kommer under strengfunktionerne , det er også en indbygget funktion i VBA, der bruges til at få de numeriske værdier fra en datavariabel, antag, at hvis en variabel har værdi som A10, giver val-funktionen os 10 som output, det tager en streng som et argument og returnerer de tilstedeværende tal i strengen.

VAL står for VALUE i VBA-terminologi. Denne funktion konverterer strengen, der indeholder tal, til et faktisk antal. Hvis du f.eks. Leverer tekststrengen "1234 Global", returnerer den kun den numeriske del, dvs. 1234.

Ofte gemmes ofte, når vi downloader eller henter data fra webnumre, som tekstværdier i et regneark. Konvertering af tekst til tal er den sværeste opgave, hvis du ikke er opmærksom på den korrekte funktion i Excel. Som en almindelig regnearksfunktion har vi en funktion kaldet VÆRDI, som konverterer alle strenge, der repræsenterer tal, til nøjagtige tal med en simpel funktion i regnearket. I denne artikel vil vi vise, hvordan dette kan opnås i VBA ved hjælp af VAL-funktionen.

Syntaks

Det har kun et argument, dvs. streng.

  • Streng: Det er simpelthen en strengværdi, vi prøver at få den numeriske del ud af den.

Så VAL-funktionen konverterer den medfølgende streng til en numerisk værdi.

Bemærk: VAL-funktionen ignorerer altid mellemrumstegnene og fortsætter med at læse numrene efter mellemrumstegnet eller tegnene.

Hvis den medfølgende streng f.eks. Er "145 45 666 3", ignorerer den mellemrumstegnene og returnerer resultatet som "145456663".

Eksempler på VAL-funktion i Excel VBA

Eksempel nr. 1

Lad os prøve det første eksempel med et simpelt tal, dvs. “14 56 47.”

Nedenstående kode er til dig.

Kode:

Sub Val_Example1 () Dim k As Variant k = Val ("14 56 47") 'Konverter ovenstående som 145647 MsgBox k End Sub

Når du kører VBA-kode ved hjælp af F5-tasten eller manuelt, returnerer den resultatet som "145647" ved at ignorere alle mellemrumstegnene som vist i nedenstående billede.

Eksempel 2

I dette eksempel vil vi se, hvad resultatet af strengen er "+456".

Kode:

Sub Val_Example2 () Dim k As Variant k = Val ("+ 456") 'Konverter ovenstående som 456 MsgBox k End Sub

Du kan køre denne kode manuelt eller gennem F5-tasten for at returnere værdien som 456 ved at ignorere +456.

Eksempel 3

Lad nu prøve det samme nummer med et negativt tegn.

Kode:

Sub Val_Example3 () Dim k As Variant k = Val ("- 456") 'Konverter ovenstående som -456 MsgBox k End Sub

Denne kode returnerer kun værdien som -456, fordi tallet med operatørtegn skal vises.

Eksempel 4

Lad os nu prøve denne streng "100 kg".

Kode:

Sub Val_Example4 () Dim k As Variant k = Val ("100 KG") 'Ignorer KG og returnerer kun 100 MsgBox k End Sub

Hvis du kører denne kode manuelt eller bruger F5-tasten, ignorerer denne ovenstående kode "KG" og returnerer kun "100" i VBA-meddelelsesfeltet.

Eksempel 5

Prøv nu datostrengen, dvs. “14-05-2018”.

Kode:

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

Ovenstående kode returnerer 14 som resultat, fordi VAL-funktionen kun kan hente den numeriske værdi, indtil den finder noget andet end det numeriske tegn.

Eksempel 6

Prøv nu strengen “7459Good456”.

Kode:

Sub Val_Example6 () Dim k As Variant k = Val ("7459 Good 456") 'Returnerer 7459 som resultat. MsgBox k End Sub

Dette udtrækker tallene, indtil det finder det ikke-numeriske tegn, dvs. resultatet er 7459. Selvom der er numeriske værdier efter den ikke-numeriske værdi "God", ignorerer det tal derefter fuldstændigt.

Eksempel 7

Prøv nu strengværdien “H 12456”.

Kode:

Sub Val_Example7 () Dim k As Variant k = Val ("H 12456") 'Returnerer 0 som resultat. MsgBox k End Sub

Kør ovenstående kode ved hjælp af genvejstasten F5 eller manuelt, så returnerer resultatet som nul. Fordi det allerførste tegn i den streng, vi har leveret, er et ikke-numerisk tegn, så er resultatet nul.

Eksempel 8

Prøv nu denne streng “24545. 2 ”.

Kode:

Sub Val_Example8 () Dim k As Variant k = Val ("24545. 2") 'Returnerer 24545.2 som resultatet. MsgBox k End Sub

Koden returnerer resultatet som 24545.2, fordi VBA VAL-funktionen betragter punktet (.) Som decimaltegnet og returnerer resultatet i overensstemmelse hermed.

Interessante artikler...