Denna handledning visar hur du använder CInt VBA -funktionen för att konvertera ett uttryck till heltalstypen.
CInt -funktion
VBA CInt Konvertera uttryck till heltal
VBA CInt -funktionen kan användas för att konvertera uttryck till heltalstyp inuti VBA -kod. Det resulterande talet avrundas för att bli ett heltal.
123456 | Sub CIntExample_1 ()MsgBox CInt (12.34) 'Resultat är: 12MsgBox CInt (12.345) 'Resultat är: 12MsgBox CInt (-124) 'Resultatet är: -124MsgBox CInt (-12.34) 'Resultatet är: -12Avsluta Sub |
VBA CInt -avrundning
VBA CInt -funktionen avrundar decimaldelen av en siffertyp eller ett tal som liknar uttryck. Det rundar dock inte korrekt i alla fall. När decimaldelen är 0,5 returnerar VBA CInt -funktionen det närmaste jämna heltalet.
12345678910111213141516 | Sub CIntExample_2 ()MsgBox CInt (0,34)'Resultatet är: 0MsgBox CInt (0,99)'Resultatet är: 1MsgBox CInt (-124,95)'Resultatet är: -125MsgBox CInt (1.5)'Resultatet är: 2MsgBox CInt (2.5)'Resultatet är: 2Avsluta Sub |
Vi kan lägga till ett decimaltal relativt litet till vårt förväntade decimalvärde för att ändra beteendet hos VBA Cint -funktionen till det förväntade.
1234567891011 | Sub CIntExample_3 ()MsgBox CInt (2.5)'Resultatet är: 2MsgBox CInt (2,5 + 0,001)'Resultatet är: 3MsgBox CInt (14,5)'Resultatet är: 14MsgBox CInt (14,5 + 0,001)'Resultatet är: 15Avsluta Sub |
VBA -programmering | Kodgenerator fungerar för dig!
VBA CInt -konvertering av strängar till heltal
VBA CInt -funktionen kan användas för att konvertera strängar till heltal om tecknen i strängen har en betydelse som tal.
123456789101112131415161718 | Sub CIntExample_4 ()Dim StrEx som strängStrEx = "112"MsgBox CInt (StrEx)'Resultatet är: 112StrEx = "112.3"MsgBox CInt (StrEx)'Resultatet är: 112 -> 112.3 är avrundatStrEx = "11,2"MsgBox CInt (StrEx)'Resultatet är: 112 ->, ignorerasStrEx = "$ 112"MsgBox CInt (StrEx)'Resultatet är: 112 -> $ ignorerasAvsluta Sub |
VBA CInt Run-Time Error 13 Type Mismatch
Att använda VBA Cint-funktion med strängar som innehåller icke-numeriska tecken eller tecken som inte har någon betydelse i numeriskt sammanhang kommer att resultera i ett Run-Time-fel '13': Typmatchning.
1234567 | Sub CIntExample_5 ()'Koden nedan resulterar i ett ERROR -meddelande'CInt kan inte hantera icke -numeriska teckenDim StrEx som strängStrEx = "Ab13"MsgBox CInt (StrEx)Avsluta Sub |
VBA CInt Run-Time Error 6 Overflow
Att använda VBA Cint-funktion med strängar som resulterar i ett värde som är mindre eller större än det förväntade heltalet kommer att resultera i ett Run-Time-fel '6': Överflöde. Integer datatyp i excel har ett förväntat värde på -32768 till 32767.
1234567 | Sub CIntExample_6 ()'Koden nedan resulterar i ett ERROR -meddelande'Jag kan inte hantera icke -numeriska teckenDim StrEx som strängStrEx = "1234567"MsgBox CInt (StrEx)Avsluta Sub |
Trött på att söka efter exempel på VBA -kod? Prova AutoMacro!
VBA CInt regionala inställningar
VBA CInt -funktionen har olika beteendeomvandlande strängar med komma eller punkt. Den använder operativsystemets regionala inställningar för decimalavgränsare och siffraseparator.
12345678910111213141516 | Sub CIntExample_7 ()Dim StrEx som strängStrEx = "1,9"MsgBox CInt (StrEx)"Om regionala inställningar har, som en gruppseparator då'Resultatet är: 19"Om regionala inställningar har, som en decimalavgränsare då'Resultatet är: 2 (2 eftersom 1.9 blir avrundade)StrEx = "1.9"MsgBox CInt (StrEx)"Om regionala inställningar har. som en gruppseparator då'Resultatet är: 19"Om regionala inställningar har. som decimalseparator då'Resultatet är: 2 (2 eftersom 1.9 blir avrundade)Avsluta Sub |
VBA -programmering | Kodgenerator fungerar för dig!
VBA CInt Konverterar booleser till heltal
VBA Cint -funktion kan konvertera booleska variabler till heltal. Om det utvärderade uttrycket är sant är det resulterande heltalet -1 och om det utvärderade uttrycket är falskt är det resulterande heltalet 0.
12345678910 | Sub CIntExample_8 ()Dim BoolEx As BooleanBoolEx = SantMsgBox CInt (BoolEx) 'Resultat är: -1MsgBox CInt (2 = 2) 'Resultatet är: -1BoolEx = FalsktMsgBox CInt (BoolEx) 'Resultat är: 0MsgBox CInt (1 = 2) 'Resultatet är: 0Avsluta Sub |
VBA CInt Konvertera datum till heltal
VBA Cint -funktion kan konvertera en datumvariabel till ett heltal. Det returnerade värdet är det interna nummer som används av excel för datumlagring avrundat. Om det numret ligger utanför de förväntade heltalsgränserna för VBA får vi ett Run-Time-fel '6': Överflöde.
123456789 | Sub CIntExample_9 ()Dim DateEx As DateDateEx = #2/3/1940 #MsgBox CInt (DateEx)'Resultatet är: 14644DateEx = #8/7/1964 #MsgBox CInt (DateEx)'Resultatet är: 23596Avsluta Sub |