Returnerer tallene som finnes i en streng som en numerisk verdi av riktig type.
Syntaks
Val(streng)
Det nødvendige strengargumenteter et hvilket som helst gyldig strenguttrykk.
Merknader
Val-funksjonen slutter å lese strengen ved det første tegnet den ikke gjenkjenner som en del av et tall. Symboler og tegn som ofte betraktes som deler av numeriske verdier, for eksempel dollartegn og komma, gjenkjennes ikke. Funksjonen gjenkjenner imidlertid rot-prefiksene &O (for oktal) og &H (for heksadesimal). Tomme verdier, tabulatorer og linjeskifttegn fjernes fra argumentet.
Følgende returnerer verdien 1615198:
Val(" 1615 198th Street N.E.")
I koden nedenfor returnerer Val desimalverdien -1 for den heksadesimale verdien som vises:
Val("&HFFFF")
Obs!
Val-funksjonen gjenkjenner bare punktum (.) som et gyldig desimalskilletegn. Når forskjellige desimalskilletegn brukes, som i internasjonale applikasjoner, bruk CDbl i stedet for å konvertere en streng til et tall.
Eksempel på spørring
| Uttrykk | Resultater |
|---|---|
| SELECT DateofSale,val(DateofSale) AS testVal FROM ProductSales; | Returner verdiene fra «DateofSale» og innledende numeriske tegn fra verdiene i feltet «DateofSale» i kolonnen testVal. Val() slutter å lese strengen ved det første ikke-numeriske tegnet. |
VBA-eksempel
Obs!
I eksemplene nedenfor vises bruken av denne funksjonen i en VBA-modul (Visual Basic for Applications). Hvis du vil ha mer informasjon om hvordan du arbeider med VBA, velger du Utviklerreferanse fra rullegardinlisten ved siden av Søk og skriver inn ett eller flere søkeord i søkeboksen.
Dette eksemplet bruker Val-funksjonen til å returnere tallene som finnes i en streng.
Dim MyValue
MyValue = Val("2457") ' Returns 2457.
MyValue = Val(" 2 45 7") ' Returns 2457.
MyValue = Val("24 and 57") ' Returns 24.