Denne opplæringen vil demonstrere hvordan du bruker CInt VBA -funksjonen til å konvertere et uttrykk til heltall datatype.
CInt -funksjon
VBA CInt Konverter uttrykk til heltall
VBA CInt -funksjonen kan brukes til å konvertere uttrykk til heltall datatype inne i VBA -kode. Det resulterende tallet er avrundet for å bli et heltall.
123456 | Sub CIntExample_1 ()MsgBox CInt (12.34) 'Resultat er: 12MsgBox CInt (12.345) 'Resultat er: 12MsgBox CInt (-124) 'Resultat er: -124MsgBox CInt (-12.34) 'Resultat er: -12Slutt Sub |
VBA CInt Rounding
VBA CInt -funksjonen vil avrunde desimaldelen av en talltype eller et tall som uttrykk. Den rundes imidlertid ikke riktig i alle tilfeller. Når desimaldelen er 0,5, returnerer VBA CInt -funksjonen det nærmeste jevne heltallet.
12345678910111213141516 | Sub CIntExample_2 ()MsgBox CInt (0,34)'Resultatet er: 0MsgBox CInt (0,99)'Resultatet er: 1MsgBox CInt (-124,95)'Resultatet er: -125MsgBox CInt (1.5)'Resultatet er: 2MsgBox CInt (2.5)'Resultatet er: 2Slutt Sub |
Vi kan legge til et desimaltall som er relativt lite til vår forventede desimalverdi for å endre oppførselen til VBA Cint -funksjonen til den forventede.
1234567891011 | Sub CIntExample_3 ()MsgBox CInt (2.5)'Resultatet er: 2MsgBox CInt (2,5 + 0,001)'Resultatet er: 3MsgBox CInt (14.5)'Resultatet er: 14MsgBox CInt (14,5 + 0,001)'Resultatet er: 15Slutt Sub |
VBA -programmering | Kodegenerator fungerer for deg!
VBA CInt -konvertering av strenger til heltall
VBA CInt -funksjonen kan brukes til å konvertere strenger til heltall hvis tegnene i strengen har en betydning som tall.
123456789101112131415161718 | Sub CIntExample_4 ()Dim StrEx som strengStrEx = "112"MsgBox CInt (StrEx)'Resultatet er: 112StrEx = "112.3"MsgBox CInt (StrEx)'Resultatet er: 112 -> 112.3 er avrundetStrEx = "11,2"MsgBox CInt (StrEx)'Resultatet er: 112 ->, ignoreresStrEx = "$ 112"MsgBox CInt (StrEx)'Resultatet er: 112 -> $ ignoreresSlutt Sub |
VBA CInt Run-Time Error 13 Type Mismatch
Bruk av VBA Cint-funksjon med strenger som inneholder ikke-numeriske tegn eller tegn som ikke har betydning i numerisk kontekst, vil resultere i en Run-Time-feil '13': Type mismatch.
1234567 | Sub CIntExample_5 ()'Koden nedenfor vil resultere i en FEIL -melding'CInt kan ikke håndtere ikke -numeriske tegnDim StrEx som strengStrEx = "Ab13"MsgBox CInt (StrEx)Slutt Sub |
VBA CInt Run-Time Error 6 Overflow
Bruk av VBA Cint-funksjon med strenger som resulterer i en verdi som er mindre eller større enn det forventede heltallet, vil resultere i en Run-Time-feil '6': Overflow. Heltall datatype i excel har en forventet verdi på -32768 til 32767.
1234567 | Sub CIntExample_6 ()'Koden nedenfor vil resultere i en FEIL -melding'Jeg kan ikke håndtere ikke -numeriske tegnDim StrEx som strengStrEx = "1234567"MsgBox CInt (StrEx)Slutt Sub |
Lei av å søke etter eksempler på VBA -kode? Prøv AutoMacro!
VBA CInt regionale innstillinger
VBA CInt -funksjonen har forskjellige atferdskonverterende strenger med komma eller prikk. Den bruker de regionale innstillingene i operativsystemet for desimalseparator og tallseparator.
12345678910111213141516 | Sub CIntExample_7 ()Dim StrEx som strengStrEx = "1,9"MsgBox CInt (StrEx)'Hvis regionale innstillinger har det, som en grupperingsseparator da'Resultatet er: 19'Hvis regionale innstillinger har det, som en desimalseparator da'Resultatet er: 2 (2 fordi 1.9 blir avrundet)StrEx = "1.9"MsgBox CInt (StrEx)'Hvis regionale innstillinger har. som en gruppering separator da'Resultatet er: 19'Hvis regionale innstillinger har. som desimalseparator da'Resultatet er: 2 (2 fordi 1.9 blir avrundet)Slutt Sub |
VBA -programmering | Kodegenerator fungerer for deg!
VBA CInt Konvertering av booleske til heltall
VBA Cint -funksjonen kan konvertere boolske variabler til heltall. Hvis det evaluerte uttrykket er sant, er det resulterende heltalet -1 og hvis det evaluerte uttrykket er usant, er det resulterende heltallet 0.
12345678910 | Sub CIntExample_8 ()Dim BoolEx As BooleanBoolEx = SantMsgBox CInt (BoolEx) 'Resultat er: -1MsgBox CInt (2 = 2) 'Resultat er: -1BoolEx = FalskMsgBox CInt (BoolEx) 'Resultat er: 0MsgBox CInt (1 = 2) 'Resultat er: 0Slutt Sub |
VBA CInt -konvertering av datoer til heltall
VBA Cint -funksjon kan konvertere en datovariabel til et heltall. Den returnerte verdien er det interne nummeret som excel brukte for datalagring avrundet. Hvis dette tallet er utenfor de forventede heltallsgrensene for VBA, får vi en Run-Time-feil '6': Overflow.
123456789 | Sub CIntExample_9 ()Dim DateEx As DateDateEx = #2/3/1940 #MsgBox CInt (DateEx)'Resultatet er: 14644DateEx = #8/7/1964 #MsgBox CInt (DateEx)'Resultatet er: 23596Slutt Sub |