Denne vejledning viser, hvordan du bruger CInt VBA -funktionen til at konvertere et udtryk til heltalsdatatypen.
CInt -funktion
VBA CInt Konverter udtryk til heltal
VBA CInt -funktionen kan bruges til at konvertere udtryk til heltal datatype inde i VBA -kode. Det resulterende tal afrundes til at blive et helt tal.
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) 'Resultatet er: -12Afslut Sub |
VBA CInt -afrunding
VBA CInt -funktionen afrunder decimaldelen af en nummertype eller et tallignende udtryk. Den runder dog ikke korrekt i alle tilfælde. Når decimaldelen er 0,5, returnerer VBA CInt -funktionen det nærmeste lige heltal.
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: 2Afslut Sub |
Vi kan tilføje et decimaltal relativt lille til vores forventede decimalværdi for at ændre adfærden for VBA Cint -funktionen 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: 15Afslut Sub |
VBA -programmering | Kodegenerator virker for dig!
VBA CInt -konvertering af strenge til heltal
VBA CInt -funktionen kan bruges til at konvertere strenge til heltal, hvis tegnene i strengen har en betydning som tal.
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 afrundetStrEx = "11,2"MsgBox CInt (StrEx)'Resultatet er: 112 ->, ignoreresStrEx = "$ 112"MsgBox CInt (StrEx)'Resultatet er: 112 -> $ ignoreresAfslut Sub |
VBA CInt Run-Time Error 13 Type Mismatch
Brug af VBA Cint-funktion med strenge, der indeholder ikke-numeriske tegn eller tegn, der ikke har betydning i numerisk kontekst, vil resultere i en Run-Time-fejl '13': Type mismatch.
1234567 | Sub CIntExample_5 ()'Koden herunder vil resultere i en FEJL -meddelelse'CInt kan ikke håndtere ikke -numeriske tegnDim StrEx som strengStrEx = "Ab13"MsgBox CInt (StrEx)Afslut Sub |
VBA CInt Run-Time Error 6 Overflow
Brug af VBA Cint-funktion med strenge, der resulterer i en værdi, der er mindre eller større end det forventede heltal, vil resultere i en Run-Time-fejl '6': Overflow. Heltal datatype i excel har en forventet værdi på -32768 til 32767.
1234567 | Sub CIntExample_6 ()'Koden herunder vil resultere i en FEJL -meddelelse'Kan ikke håndtere ikke -numeriske tegnDim StrEx som strengStrEx = "1234567"MsgBox CInt (StrEx)Afslut Sub |
Træt af at søge efter eksempler på VBA -kode? Prøv AutoMacro!
VBA CInt regionale indstillinger
VBA CInt -funktionen har forskellige adfærdskonverterende strenge med komma eller prik. Det bruger de regionale indstillinger i operativsystemet til decimalseparator og ciferseparator.
12345678910111213141516 | Sub CIntExample_7 ()Dim StrEx som strengStrEx = "1,9"MsgBox CInt (StrEx)'Hvis regionale indstillinger har, som en grupperingsadskiller derefter'Resultatet er: 19'Hvis regionale indstillinger har, som en decimalseparator derefter'Resultatet er: 2 (2 fordi 1,9 bliver afrundet)StrEx = "1.9"MsgBox CInt (StrEx)'Hvis regionale indstillinger har. som en gruppering separator derefter'Resultatet er: 19'Hvis regionale indstillinger har. som decimalseparator derefter'Resultatet er: 2 (2 fordi 1,9 bliver afrundet)Afslut Sub |
VBA -programmering | Kodegenerator virker for dig!
VBA CInt Konvertering af booleske til heltal
VBA Cint -funktion kan konvertere boolske variabler til heltal. Hvis det evaluerede udtryk er sandt, er det resulterende heltal -1, og hvis det evaluerede udtryk er falsk, er det resulterende heltal 0.
12345678910 | Sub CIntExample_8 ()Dim BoolEx Som boolskBoolEx = SandtMsgBox CInt (BoolEx) 'Resultat er: -1MsgBox CInt (2 = 2) 'Resultatet er: -1BoolEx = FalskMsgBox CInt (BoolEx) 'Resultat er: 0MsgBox CInt (1 = 2) 'Resultatet er: 0Afslut Sub |
VBA CInt -konvertering af datoer til heltal
VBA Cint -funktion kan konvertere en datovariabel til et helt tal. Den returnerede værdi er det interne nummer, der bruges af excel til datalagring afrundet. Hvis dette tal ligger uden for de forventede heltalsgrænser for VBA, får vi en Run-Time-fejl '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: 23596Afslut Sub |