VBA VAL - Hvordan bruker jeg VBA VAL-funksjonen? (med eksempler)

Innholdsfortegnelse

Excel VBA Val-funksjon

Val-funksjon i vba kommer under strengfunksjonene, det er også en innebygd funksjon i VBA som brukes til å få de numeriske verdiene fra en datavariabel, antar at hvis en variabel har verdi som A10, vil val-funksjonen gi oss 10 som utgang, den tar en streng som argument og returnerer tallene som er til stede i strengen.

VAL står for VALUE i VBA-terminologi. Denne funksjonen konverterer strengen som inneholder tall til et faktisk tall. Hvis du for eksempel oppgir tekststrengen "1234 Global", vil den bare returnere den numeriske delen, dvs. 1234.

Ofte lagres vanligvis når vi laster ned eller henter data fra nettnumre som tekstverdier i et regneark. Konvertering av tekst til tall er den vanskeligste oppgaven hvis du ikke er klar over riktig funksjon i Excel. Som en vanlig regnearkfunksjon har vi en funksjon kalt VALUE, som vil konvertere all strengen som representerer tall til eksakte tall med en enkel funksjon i regnearket. I denne artikkelen vil vi vise hvordan dette kan oppnås i VBA ved hjelp av VAL-funksjonen.

Syntaks

Den har bare ett argument, dvs. String.

  • Streng: Det er rett og slett en strengverdi vi prøver å få den numeriske delen ut av den.

Så VAL-funksjonen konverterer den medfølgende strengen til en numerisk verdi.

Merk: VAL-funksjonen ignorerer alltid mellomromstegnene og fortsetter å lese tallene etter mellomromstegnet eller tegnene.

Hvis den medfølgende strengen for eksempel er "145 45 666 3", vil den ignorere mellomromstegnene og returnere resultatet som "145456663".

Eksempler på VAL-funksjon i Excel VBA

Eksempel 1

La oss prøve det første eksemplet med et enkelt tall, dvs. “14 56 47.”

Koden nedenfor er for deg.

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 kjører VBA-kode ved hjelp av F5-tasten eller manuelt, vil den returnere resultatet som "145647" ved å ignorere alle mellomromstegnene som vist i bildet nedenfor.

Eksempel 2

I dette eksemplet vil vi se hva resultatet av 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 kjøre denne koden manuelt eller gjennom F5-tasten for å returnere verdien som 456 ved å ignorere +456.

Eksempel 3

La oss prøve det samme tallet 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 koden vil bare returnere verdien som -456 fordi tallet med operatørtegn skal vises.

Eksempel 4

La oss prøve denne strengen “100 kg”.

Kode:

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

Hvis du kjører denne koden manuelt eller bruker F5-tasten, ignorerer denne koden ovenfor "KG" og returnerer bare "100" i VBA-meldingsboksen.

Eksempel 5

Prøv nå 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

Ovennevnte kode returnerer 14 som resultat fordi VAL-funksjonen bare kan hente den numeriske verdien til den finner noe annet enn numerisk tegn.

Eksempel 6

Prøv nå strengen “7459Good456”.

Kode:

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

Dette vil trekke ut tallene til det finner det ikke-numeriske tegnet, dvs. at resultatet er 7459. Selv om det er numeriske verdier etter den ikke-numeriske verdien "God", ignorerer den tall etter det.

Eksempel 7

Prøv nå strengverdien “H 12456”.

Kode:

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

Kjør ovennevnte kode ved hjelp av hurtigtasten F5 eller manuelt, og deretter returnerer resultatet som null. Fordi det aller første tegnet i strengen vi har levert er et ikke-numerisk tegn, er resultatet null.

Eksempel 8

Prøv nå denne strengen “24545. 2 ”.

Kode:

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

Koden returnerer resultatet som 24545.2 fordi VBA VAL-funksjonen anser tegnet prikk (.) Som desimaltegnet og returnerer resultatet deretter.

Interessante artikler...