Denne vejledning viser, hvordan du bruger CLng VBA -funktionen til at konvertere et udtryk til datatypen med langt heltal.
CLng -funktion
VBA CLng Konverter udtryk til lang
VBA CLng -funktionen kan bruges til at konvertere udtryk til lang datatype inde i VBA -koden.
123456 | Sub CLngExample_1 ()MsgBox CLng (12.34) 'Resultat er: 12MsgBox CLng (12.345) 'Resultat er: 12MsgBox CLng (-124) 'Resultat er: -124MsgBox CLng (-12.34) 'Resultatet er: -12Afslut Sub |
VBA CLng -afrunding
VBA CLng -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 CLng -funktionen det nærmeste lige heltal.
1234567891011 | Sub CLngExample_2 ()MsgBox CLng (0.34) 'Resultat er: 0MsgBox CLng (0,99) 'Resultat er: 1MsgBox CLng (-124,95) 'Resultatet er: -125MsgBox CLng (1.5) 'Resultat er: 2MsgBox CLng (2.5) 'Resultat er: 2Afslut Sub |
Vi kan tilføje et decimaltal relativt lille til vores forventede decimalværdi for at ændre adfærden for VBA CLng -funktionen til den forventede.
1234567891011 | Sub CLngExample_3 ()MsgBox CLng (2.5)'Resultatet er: 2MsgBox CLng (2,5 + 0,001)'Resultatet er: 3MsgBox CLng (14,5)'Resultatet er: 14MsgBox CLng (14,5 + 0,001)'Resultatet er: 15Afslut Sub |
VBA -programmering | Kodegenerator virker for dig!
VBA CLng -konvertering af strenge til længder
VBA CLng -funktionen kan bruges til at konvertere strenge til længder, hvis tegnene i strengen har en betydning som tal.
123456789101112131415161718 | Sub CLngExample_4 ()Dim StrEx som strengStrEx = "112"MsgBox CLng (StrEx)'Resultatet er: 112StrEx = "112,3"MsgBox CLng (StrEx)'Resultatet er: 112 112,3 er afrundetStrEx = "11,2"MsgBox CLng (StrEx)'Resultatet er: 112, ignoreresStrEx = "$ 112"MsgBox CLng (StrEx)'Resultatet er: 112 $ ignoreresAfslut Sub |
VBA CLng Kørselsfejl 13 Type fejl
Brug af VBA CLng-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 CLngExample_5 ()'Koden herunder vil resultere i en FEJL -meddelelse'CLng kan ikke håndtere ikke -numeriske tegnDim StrEx som strengStrEx = "Ab13"MsgBox CLng (StrEx)Afslut Sub |
VBA CLng Run-Time Error 6 Overflow
Brug af VBA CLng-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å -2.147.483.648 til 2.147.483.647.
1234567 | Sub CLngExample_6 ()'Koden herunder vil resultere i en FEJL -meddelelse'CLng kan ikke håndtere ikke -numeriske tegnDim StrEx som strengStrEx = "2147483648"MsgBox CLng (StrEx)Afslut Sub |
Træt af at søge efter eksempler på VBA -kode? Prøv AutoMacro!
VBA CLng regionale indstillinger
VBA CLng -funktionen har forskellige adfærdskonverterende strenge med komma eller prik. Det bruger de regionale indstillinger i operativsystemet til decimalseparator og ciferseparator.
12345678910111213141516 | Sub CLngExample_7 ()Dim StrEx som strengStrEx = "1,9"MsgBox CLng (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 CLng (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 CLng Konvertering af booleske til længder
VBA CLng -funktion kan konvertere boolske variabler til længder. Hvis det evaluerede udtryk er sandt, er den resulterende lang -1, og hvis det evaluerede udtryk er falsk, er den resulterende lang 0.
1234567891011121314 | Sub CLngExample_8 ()Dim BoolEx Som boolskBoolEx = SandtMsgBox CLng (BoolEx)'Resultatet er: -1MsgBox CLng (2 = 2)'Resultatet er: -1BoolEx = FalskMsgBox CLng (BoolEx)'Resultatet er: 0MsgBox CLng (1 = 2)'Resultatet er: 0Afslut Sub |
VBA CLng Konvertering af datoer til længder
VBA CLng -funktion kan konvertere en datovariabel til en lang. Den returnerede værdi er det interne nummer, der bruges af excel til datalagring afrundet. Hvis dette tal ligger uden for de forventede lange grænser for VBA, får vi en Run-Time-fejl '6': Overflow.
123456789101112 | Sub CLngExample_9 ()Dim DateEx As DateDateEx = #2/3/1940 #MsgBox CLng (DateEx)'Resultatet er: 14644DateEx = #8/7/1964 #MsgBox CLng (DateEx)'Resultatet er: 23596DateEx = #3/7/1934 11:32:04 AM #MsgBox CLng (DateEx)'Resultatet er: 12485Afslut Sub |