VBA Val-funktion

VBA Val står for Value. Det konverterer arrays eller streng, der har nogle tal til rene numeriske værdier. Antag, at hvis vi giver "111 One" som input, får vi kun "111" som numerisk output. Dette er meget nyttigt, mens vi arbejder i en data, som vi uddrager fra en slags database. I den databasefil kan vi muligvis støde på sådanne celler, der kan indeholde numre sammen med ekstra mellemrum, skjulte tegn, specialtegn eller alfabeter. I dette tilfælde kan brug af Val konvertere den streng til numre. Hvilket kan bruges i yderligere analyse.

Sådan bruges Excel Val-funktion i VBA?

Lad os se eksemplerne på Val i Excel VBA.

Du kan downloade denne VBA VAL Excel-skabelon her - VBA VAL Excel-skabelon

Eksempel 1 - VBA Val

Det er ret let at implementere. For flere typer applikationer og koder danner vi først en ramme med kode, som vi vil bruge flere gange i yderligere eksempler.

Trin 1: Gå til menuen Indsæt menu, og vælg et modul som vist nedenfor.

Trin 2: Derefter får vi det tomme vindue i Modul. I dette skriv underkategorien VBA Val i excel, eller du kan bruge ethvert andet navn på underkategorien efter dit behov.

Kode:

 Sub VBA_Val () End Sub 

Trin 3: Definer nu en variabel DIM A eller vælg noget i stedet for alfabet A som tilordnes det som variant. Variant giver os mulighed for at bruge enhver form for datatype, mens vi tildeler værdierne i variablen.

Kode:

 Sub VBA_Val () Dim A Som Variant End Sub 

Trin 4: Og tildel nu enhver type nummersekvens til variabel A under VBA-funktion VAL . Vi har tildelt en kombination af sekventielt nummer til demonstration som vist nedenfor med mellemrum mellem dem.

Kode:

 Sub VBA_Val () Dim A Som variant A = Val ("11 22 33") Slut Sub 

Trin 5: Endelig har vi brug for en meddelelsesboks til at udskrive de værdier, der er gemt i variabel A.

Kode:

 Sub VBA_Val () Dim A Som variant A = Val ("11 22 33") MsgBox A End Sub 

Trin 6: Kompilér nu koden trin for trin ved at trykke på funktionstasten F5. Og kør det derefter ved at klikke på afspilningsknappen under menulinjen som vist nedenfor. Vi ser dette, det returnerede værdier, der er gemt i variablen. En som 112233 som vist nedenfor. Alle disse værdier er uden mellemrum.

Eksempel 2 - VBA Val

I dette eksempel vil vi se, hvordan VBA Val-funktion bruges til nummer, der indeholder nogle matematiske tegn. Til dette overvejer vi koden, der er skrevet ovenfor. Vi har taget rammen af ​​koden, der vil blive anvendt alle eksemplerne, som vist nedenfor.

Trin 1: Gå til menuen Indsæt menu, og vælg et modul som vist nedenfor

Trin 2: Som fremhævet i nedenstående skærmbillede, vil vi fortsætte med at opdatere værdien mellem parenteser af VAL-funktion.

Kode:

 Sub VBA_Val2 () Dim A Som variant A = Val ("") MsgBox A End Sub 

Trin 3: Lad os nu indsætte et hvilket som helst tal med matematisk tegn plus (“+”) som vist nedenfor.

Kode:

 Sub VBA_Val2 () Dim A Som variant A = Val ("+ 111") MsgBox A End Sub 

Trin 4: Kompilér og kør nu koden. Vi vil se, VBA Val har givet værdierne som 111 uden plustegnet. Det skyldes, at logisk set er alle værdier med eller uden plustegn altid positive.

Trin 5: Lad os ændre værdien i Val-funktionen fra +111 til -111. Nu vil vi se, om minustegnet konverteres til værdien eller ej.

Kode:

 Sub VBA_Val2 () Dim A Som variant A = Val ("- 111") MsgBox A End Sub 

Trin 6: Kompilér koden og kør. Vi vil se, minus-tegnet er stadig bevaret i værdien, og meddelelsesfeltet har returneret værdien som -111 . Hvilket betyder, at ethvert andet tegn end plus ikke konverteres med Val-funktion i VBA.

Eksempel 3 - VBA Val

I dette eksempel vil vi se, hvordan Val-funktionen fungerer til tidsformater.

Trin 1: Til dette igen vil vi bruge det ovenfor definerede format til Excel VBA Val som vist nedenfor.

Kode:

 Sub VBA_Val3 () Dim A Som variant A = Val ("") MsgBox A End Sub 

Trin 2: Indsæt nu ethvert tidsformat i VAL-funktion som cirklet i ovenstående skærmbillede. Her tilføjer vi 11 AM som vist nedenfor.

Kode:

 Sub VBA_Val3 () Dim A Som variant A = Val ("11 AM") MsgBox A End Sub 

Trin 3: Kompilér nu koden og kør. Vi vil se, VAL-funktion har elimineret AM fra 11 AM og kun givet os 11 som output som vist nedenfor.

Trin 4: Lad os nu bruge et andet format. Brug alle minutter med timer. Vi har brugt værdien 11:05 under Val-parenteser.

Kode:

 Sub VBA_Val3 () Dim A Som variant A = Val ("11:05 AM") MsgBox A End Sub 

Trin 5: Kompilér og kør koden igen. Igen har Val-funktion fjernet kolon- og minutnumre sammen med AM og givet os hele nummer 11 som vist nedenfor.

Eksempel 4 - VBA Val

I dette eksempel vil vi se, hvordan datoformatet fungerer i dette.

Trin 1: Indstil igen formatet for VBA Val-funktion sammen med den komplette kode, som vi har set i ovenstående eksempler.

Kode:

 Sub VBA_Val4 () Dim A Som variant A = Val ("") MsgBox A End Sub 

Trin 2: Indsæt nu ethvert datoformat efter dit behov. Vi kan indsætte data i et bindestreg (“-“) format i en skråstreg (“/“) format. Lad os bruge det skråstregsdataformat, der oftest bruges.

Kode:

 Sub VBA_Val4 () Dim A Som variant A = Val ("06/26/2019") MsgBox A End Sub 

Trin 3: Kompilér nu koden og kør den. Vi vil se, at VBA Val har returneret de numeriske værdier som "6". Værdier efter skråstreg accepteres ikke af VBA Val.

Eksempel 5 - VBA Val

I dette eksempel vil vi se, hvordan dette vil fungere, når numrene er efter teksten.

Trin 1: Tag det format, som vi har set ovenfor.

Kode:

 Sub VBA_Val2 () Dim A Som variant A = Val ("") MsgBox A End Sub 

Trin 2: Lad os lægge nogle tekst og tal i Val funktions parenteser. Lad os overveje "AB 11" som vist nedenfor.

Kode:

 Sub VBA_Val2 () Dim A Som variant A = Val ("AB 11") MsgBox A End Sub 

Trin 3: Kør det nu. I meddelelsesfeltet ser vi kun 0, der vises. Hvilket betyder, at VBA Val ikke overvejer numrene efter tegn eller tekst.

Fordele for VBA Val

  • Det kan bruges i de data, der udvindes fra en slags værktøj eller database. Som består af forskellige slags karakterer sammen med tal.
  • Det er ganske let at adskille numre ved at bruge VBA Val i alle slags data.
  • Vi kan vælge et hvilket som helst format, der består af et tal eller et sæt tal for at adskille det fra andre tegn.

Ting at huske

  • Den overvejer også decimalerne.
  • Gem filen som Marco aktiverer excel, så den skrevne ville blive bevaret.
  • Hvis denne proces registreres i VBA, vil den opnåede kode være meget længere end eksemplerne, som vi har set ovenfor.
  • Der er ikke en alternativ indsættelsesfunktion tilgængelig i Excel, der giver det samme resultat som VBA Val .

Anbefalede artikler

Dette er en guide til VBA Val. Her diskuterer vi hvordan man får Val i VBA Excel sammen med praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. VBA InStr forklaret med eksempler
  2. VBA heltal datatype
  3. Hvordan vælger du celle ved hjælp af VBA-kode?
  4. Transponér et interval i VBA

Kategori: