VBA Val-funksjon

VBA Val står for Value. Den konverterer matriser eller strenger som har noen tall til rene numeriske verdier. Tenk at hvis vi gir "111 One" som inndata, vil vi bare få "111" som numerisk utgang. Dette er ganske nyttig når du jobber i data som vi trekker ut fra en slags database. I den databasefilen kan vi støte på slike celler som kan inneholde tall sammen med ekstra mellomrom, skjulte tegn, spesialtegn eller alfabeter. I så fall kan du bruke Val konvertere den strengen til tall. Som kan brukes i videre analyse.

Hvordan bruke Excel Val-funksjon i VBA?

La oss se eksemplene på Val i Excel VBA.

Du kan laste ned denne VBA VAL Excel-malen her - VBA VAL Excel-mal

Eksempel 1 - VBA Val

Det er ganske enkelt å implementere. For flere typer applikasjoner og koder vil vi først danne en rammer med kode som vi vil bruke flere ganger i ytterligere eksempler.

Trinn 1: Gå til Sett inn menyfanen og velg en modul som vist nedenfor.

Trinn 2: Etter det får vi det tomme vinduet til Module. I det skriver du underkategorien til VBA Val i Excel, eller du kan bruke hvilket som helst annet navn på underkategorien etter behov.

Kode:

 Sub VBA_Val () Slutt Sub 

Trinn 3: Definer nå en variabel DIM A eller velg hva som helst i stedet for alfabetet A som tilordner den som variant. Variant lar oss bruke alle typer datatyper mens vi tildeler verdiene i variabelen.

Kode:

 Sub VBA_Val () Dim A As Variant End Sub 

Trinn 4: Og tilordn nå hvilken som helst type tallsekvens til variabel A under VBA-funksjonen VAL . Vi har tildelt en kombinasjon av sekvensielt nummer for demonstrasjon som vist nedenfor med mellomrom mellom dem.

Kode:

 Sub VBA_Val () Dim A As Variant A = Val ("11 22 33") Slutt Sub 

Trinn 5: Til slutt trenger vi en meldingsboks for å skrive ut verdiene som er lagret i variabel A.

Kode:

 Sub VBA_Val () Dim A As Variant A = Val ("11 22 33") MsgBox A End Sub 

Trinn 6: Sett sammen koden trinn for trinn ved å trykke på funksjonstasten F5. Og kjør den ved å klikke på avspillingsknappen under menylinjen som vist nedenfor. Vi ser at det returnerte verdiene som er lagret i variabelen. En som 112233 som vist nedenfor. Alle disse verdiene er uten mellomrom.

Eksempel 2 - VBA Val

I dette eksemplet vil vi se hvordan VBA Val-funksjon brukes til nummer som inneholder noen matematiske tegn. For dette vil vi vurdere koden skrevet ovenfor. Vi har tatt ut rammen til koden som skal brukes alle eksemplene, som vist nedenfor.

Trinn 1: Gå til Sett inn menyfanen og velg en modul som vist nedenfor

Trinn 2: Som uthevet i skjermbildet nedenfor, vil vi fortsette å oppdatere verdien mellom parenteser av VAL-funksjon.

Kode:

 Sub VBA_Val2 () Dim A As Variant A = Val ("") MsgBox A End Sub 

Trinn 3: La oss nå sette inn et hvilket som helst tall med matematisk tegn pluss (“+”) som vist nedenfor.

Kode:

 Sub VBA_Val2 () Dim A As Variant A = Val ("+ 111") MsgBox A End Sub 

Trinn 4: Sett sammen og kjør koden. Vi vil se, VBA Val har gitt verdiene som 111 uten pluss-tegnet. Det er fordi logisk sett er alle verdiene med eller uten plustegn alltid positive.

Trinn 5: La oss endre verdien i Val-funksjonen fra +111 til -111. Nå får vi se om minustegnet blir konvertert til verdien eller ikke.

Kode:

 Sub VBA_Val2 () Dim A As Variant A = Val ("- 111") MsgBox A End Sub 

Trinn 6: Sett sammen koden og kjør. Vi ser at minus-tegnet fortsatt beholdes i verdien, og meldingsboksen har returnert verdien som -111 . Noe annet enn pluss tegn vil ikke bli konvertert med Val-funksjon i VBA.

Eksempel 3 - VBA Val

I dette eksemplet vil vi se hvordan Val-funksjonen ville fungere for tidsformater.

Trinn 1: For dette igjen vil vi bruke det ovenfor definerte formatet for Excel VBA Val som vist nedenfor.

Kode:

 Sub VBA_Val3 () Dim A As Variant A = Val ("") MsgBox A End Sub 

Trinn 2: Sett inn et hvilket som helst tidsformat i VAL-funksjonen som sirklet i skjermbildet ovenfor. Her legger vi til 11 AM som vist nedenfor.

Kode:

 Sub VBA_Val3 () Dim A As Variant A = Val ("11 AM") MsgBox A End Sub 

Trinn 3: Sett sammen koden og kjør. Vi vil se, VAL-funksjonen har eliminert AM fra 11 AM og gitt oss bare 11 som output som vist nedenfor.

Trinn 4: La oss nå bruke noe annet format. Bruk noen minutter med timer. Vi har brukt verdien 11:05 under Val-parenteser.

Kode:

 Sub VBA_Val3 () Dim A As Variant A = Val ("11:05 AM") MsgBox A End Sub 

Trinn 5: Sett sammen og kjør koden igjen. Igjen har Val-funksjonen fjernet kolon- og minutttall sammen med AM og gitt oss hele tallet 11 som vist nedenfor.

Eksempel 4 - VBA Val

I dette eksemplet vil vi se hvordan datoformatet fungerer i dette.

Trinn 1: Sett igjen formatet for VBA Val-funksjon sammen med den komplette koden som vi har sett i eksemplene ovenfor.

Kode:

 Sub VBA_Val4 () Dim A As Variant A = Val ("") MsgBox A End Sub 

Trinn 2: Sett inn et hvilket som helst datoformat etter behov. Vi kan sette inn data i bindestrek (“-“) -format i en skråstrek (“/“) -format. La oss bruke skråstrekningsdataformatet som oftest brukes.

Kode:

 Sub VBA_Val4 () Dim A As Variant A = Val ("06/26/2019") MsgBox A End Sub 

Trinn 3: Sett sammen koden og kjør den. Vi vil se at VBA Val har returnert de numeriske verdiene som “6”. Verdier etter skråstrek aksepteres ikke av VBA Val.

Eksempel 5 - VBA Val

I dette eksemplet vil vi se hvordan dette vil fungere når tallene er etter teksten.

Trinn 1: Ta formatet som vi har sett over.

Kode:

 Sub VBA_Val2 () Dim A As Variant A = Val ("") MsgBox A End Sub 

Trinn 2: La oss legge inn litt tekst og tall i Val-funksjons parenteser. La oss vurdere "AB 11" som vist nedenfor.

Kode:

 Sub VBA_Val2 () Dim A As Variant A = Val ("AB 11") MsgBox A End Sub 

Trinn 3: Kjør det nå. Vi ser bare i 0 i meldingsboksen. Noe som betyr at VBA Val ikke vurderer tallene etter tegn eller tekst.

Fordeler med VBA Val

  • Det kan brukes i dataene som er hentet fra et slags verktøy eller database. Som består av forskjellige typer karakterer sammen med tall.
  • Det er ganske enkelt å skille tall ved å bruke VBA Val i alle slags data.
  • Vi kan velge hvilket som helst format som består av et nummer eller sett med nummer for å skille det fra andre tegn.

Ting å huske

  • Den vurderer også desimalene.
  • Lagre filen mens Marco aktiverer excel slik at skrevet vil bli beholdt.
  • Hvis du registrerer denne prosessen i VBA, vil innhentet kode være mye lengre enn eksemplene som vi har sett over.
  • Det er ikke en alternativ innsettingsfunksjon tilgjengelig i Excel som gir samme resultat som VBA Val .

Anbefalte artikler

Dette er en guide til VBA Val. Her diskuterer vi hvordan du får Val i VBA Excel sammen med praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. VBA InStr forklarte med eksempler
  2. VBA Integer Datatype
  3. Hvordan velge celle ved å bruke VBA-kode?
  4. Transponere et område i VBA

Kategori: