Denna handledning visar hur du använder CLng VBA -funktionen för att konvertera ett uttryck till datatypen med heltal.
CLng -funktion
VBA CLng Konvertera uttryck till långt
VBA CLng -funktionen kan användas för att konvertera uttryck till lång datatyp inuti VBA -koden.
123456 | Sub CLngExample_1 ()MsgBox CLng (12.34) 'Resultat är: 12MsgBox CLng (12.345) 'Resultat är: 12MsgBox CLng (-124) 'Resultatet är: -124MsgBox CLng (-12.34) 'Resultatet är: -12Avsluta Sub |
Avrundning av VBA CLng
VBA CLng -funktionen avrundar decimaldelen av en siffertyp eller ett tal som uttryck. Det rundar dock inte korrekt i alla fall. När decimaldelen är 0,5 returnerar VBA CLng -funktionen det närmaste jämna heltalet.
1234567891011 | Sub CLngExample_2 ()MsgBox CLng (0.34) 'Resultat är: 0MsgBox CLng (0,99) 'Resultat är: 1MsgBox CLng (-124,95) 'Resultatet är: -125MsgBox CLng (1.5) 'Resultat är: 2MsgBox CLng (2.5) 'Resultat ä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 CLng -funktionen till det förväntade.
1234567891011 | Sub CLngExample_3 ()MsgBox CLng (2.5)'Resultatet är: 2MsgBox CLng (2,5 + 0,001)'Resultatet är: 3MsgBox CLng (14,5)'Resultatet är: 14MsgBox CLng (14,5 + 0,001)'Resultatet är: 15Avsluta Sub |
VBA -programmering | Kodgenerator fungerar för dig!
VBA CLng -konvertering av strängar till longs
VBA CLng -funktionen kan användas för att konvertera strängar till longs om tecknen i strängen har en betydelse som tal.
123456789101112131415161718 | Sub CLngExample_4 ()Dim StrEx som strängStrEx = "112"MsgBox CLng (StrEx)'Resultatet är: 112StrEx = "112.3"MsgBox CLng (StrEx)'Resultatet är: 112 112.3 är avrundatStrEx = "11,2"MsgBox CLng (StrEx)'Resultatet är: 112, ignorerasStrEx = "$ 112"MsgBox CLng (StrEx)'Resultatet är: 112 $ ignorerasAvsluta Sub |
VBA CLng Run-Time Error 13 Type Mismatch
Att använda VBA CLng-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 CLngExample_5 ()'Koden nedan resulterar i ett ERROR -meddelande'CLng kan inte hantera icke -numeriska teckenDim StrEx som strängStrEx = "Ab13"MsgBox CLng (StrEx)Avsluta Sub |
VBA CLng Run-Time Error 6 Overflow
Att använda VBA CLng-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å -2 147 483 648 till 2 147 483 647.
1234567 | Sub CLngExample_6 ()'Koden nedan resulterar i ett ERROR -meddelande'CLng kan inte hantera icke -numeriska teckenDim StrEx som strängStrEx = "2147483648"MsgBox CLng (StrEx)Avsluta Sub |
Trött på att söka efter exempel på VBA -kod? Prova AutoMacro!
VBA CLng regionala inställningar
VBA CLng -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 CLngExample_7 ()Dim StrEx som strängStrEx = "1,9"MsgBox CLng (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 CLng (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 CLng Konvertera booleska till långa
VBA CLng -funktionen kan konvertera booleska variabler till longs. Om det utvärderade uttrycket är sant är det resulterande longet -1 och om det utvärderade uttrycket är falskt är det resulterande longet 0.
1234567891011121314 | Sub CLngExample_8 ()Dim BoolEx As BooleanBoolEx = SantMsgBox CLng (BoolEx)'Resultatet är: -1MsgBox CLng (2 = 2)'Resultatet är: -1BoolEx = FalsktMsgBox CLng (BoolEx)'Resultatet är: 0MsgBox CLng (1 = 2)'Resultatet är: 0Avsluta Sub |
VBA CLng Konvertera datum till längder
VBA CLng -funktionen kan konvertera en datumvariabel till en lång. 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 långa gränserna för VBA får vi ett Run-Time-fel '6': Överflöde.
123456789101112 | Sub CLngExample_9 ()Dim DateEx As DateDateEx = #2/3/1940 #MsgBox CLng (DateEx)'Resultatet är: 14644DateEx = #8/7/1964 #MsgBox CLng (DateEx)'Resultatet är: 23596DateEx = #3/7/1934 11:32:04 AM #MsgBox CLng (DateEx)'Resultatet är: 12485Avsluta Sub |