VBA Konverter tekststreng til tall

Du kan bli pålagt å konvertere tall som er lagret som tekst til faktiske tall i VBA -koden. I denne opplæringen skal vi gå over funksjonene du må bruke for å konvertere en streng til et heltall, lang, dobbel, desimal eller valutatype (Klikk her for å lære om konvertering av tall til strenger)

Konverter streng til heltall

Du kan bruke CInt- eller CLng -funksjonen til å konvertere en streng til et heltall. Hvis brøkdelen er mindre enn 0,5 vil funksjonen avrundes, hvis brøkdelen er større enn eller lik 0,5 vil funksjonen avrundes. Følgende kode vil konvertere en streng til et heltall:

1 MsgBox CInt ("7.55")

Resultatet er:

Følgende kode bruker CLng -funksjonen til å konvertere en streng til et heltall:

1 MsgBox CLng ("13,5")

Resultatet er:

Merk: Du kan bruke CInt- eller CLng -funksjonen til å konvertere en streng til et heltall eller lange (henholdsvis) datatyper. Lang datatype er den samme som en heltall datatype bortsett fra at større tall er tillatt. Tidligere var skillet nødvendig på grunn av minnebegrensninger. I moderne programmering er det ingen grunn til ikke å bruke den lange datatypen siden minne ikke lenger er et problem. Så det er alltid bedre å bruke en lang datatype i stedet for et heltall.

Du kan bruke vinduet Umiddelbart for å se hvordan verdien ville bli behandlet hvis den ikke konverteres til et heltall:

1 Debug.Print "13.5" + "13.5"


Vanligvis blir teksten lagret som en variabel, og denne variabelen må konverteres til en talldatatype som vist i koden nedenfor:

1234567 Sub Using_Variables ()Dim valueOne As StringvalueOne = 5MsgBox CLng (valueOne) + CLng (valueOne)Slutt Sub

Konverter streng til desimal

Du kan bruke CDbl- eller CDec -funksjonen til å konvertere en streng til en desimal. Følgende kode vil konvertere en streng til en dobbel datatype:

1 MsgBox CDbl ("9.1819")

Resultatet er:

Følgende kode vil konvertere en streng til en desimal datatype:

1 MsgBox CDec ("13.57") + CDec ("13.4")

Resultatet er:

Du kan bruke vinduet Umiddelbar for å se hvordan verdien ville bli behandlet hvis den ikke konverteres til en dobbel eller desimal datatype:

1 Debug.Print "13.57" + "13.4"

Resultatet er:

Merk: Desimal datatypen kan lagre større tall enn den doble datatypen, så det er alltid lurt å bruke desimal datatypen når du er usikker.

Konverter streng til valuta

Du kan bruke CCur -funksjonen til å konvertere en streng til en valuta. Følgende kode vil konvertere en streng til en valutatype:

1 Område ("A1"). Verdi = CCur ("18,5")

Resultatet er:

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave