Denne opplæringen vil demonstrere hvordan du bruker CLng VBA -funksjonen til å konvertere et uttrykk til datatypen med langtall.
CLng -funksjon
VBA CLng Konverter uttrykk til lang
VBA CLng -funksjonen kan brukes til å konvertere uttrykk til lang datatype inne 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) 'Resultat er: -12Slutt Sub |
Avrunding av VBA CLng
VBA CLng -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 CLng -funksjonen det nærmeste jevne heltallet.
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: 2Slutt Sub |
Vi kan legge til et desimalnummer som er relativt lite til vår forventede desimalverdi for å endre oppførselen til VBA CLng -funksjonen 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: 15Slutt Sub |
VBA -programmering | Kodegenerator fungerer for deg!
VBA CLng -konvertering av strenger til lengder
VBA CLng -funksjonen kan brukes til å konvertere strenger til longs hvis tegnene i strengen har en betydning som tall.
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 avrundetStrEx = "11,2"MsgBox CLng (StrEx)'Resultatet er: 112, ignoreresStrEx = "$ 112"MsgBox CLng (StrEx)'Resultatet er: 112 $ blir ignorertSlutt Sub |
VBA CLng Run-Time Error 13 Type Mismatch
Bruk av VBA CLng-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 CLngExample_5 ()'Koden nedenfor vil resultere i en FEIL -melding'CLng kan ikke håndtere ikke -numeriske tegnDim StrEx som strengStrEx = "Ab13"MsgBox CLng (StrEx)Slutt Sub |
VBA CLng Run-Time Error 6 Overflow
Bruk av VBA CLng-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å -2 147 483 648 til 2 147 483 647.
1234567 | Sub CLngExample_6 ()'Koden nedenfor vil resultere i en FEIL -melding'CLng kan ikke håndtere ikke -numeriske tegnDim StrEx som strengStrEx = "2147483648"MsgBox CLng (StrEx)Slutt Sub |
Lei av å søke etter eksempler på VBA -kode? Prøv AutoMacro!
VBA CLng regionale innstillinger
VBA CLng -funksjonen har forskjellige atferdskonverterende strenger med komma eller prikk. Den bruker de regionale innstillingene i operativsystemet for desimalseparator og tallseparator.
12345678910111213141516 | Sub CLngExample_7 ()Dim StrEx som strengStrEx = "1,9"MsgBox CLng (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 CLng (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 CLng Konvertering av booleske til lengder
VBA CLng -funksjonen kan konvertere boolske variabler til longs. Hvis det evaluerte uttrykket er sant, er den resulterende langen -1 og hvis det evaluerte uttrykket er usant, er den resulterende langen 0.
1234567891011121314 | Sub CLngExample_8 ()Dim BoolEx As BooleanBoolEx = SantMsgBox CLng (BoolEx)'Resultatet er: -1MsgBox CLng (2 = 2)'Resultatet er: -1BoolEx = FalskMsgBox CLng (BoolEx)'Resultatet er: 0MsgBox CLng (1 = 2)'Resultatet er: 0Slutt Sub |
VBA CLng Konvertering av datoer til lengder
VBA CLng -funksjonen kan konvertere en datovariabel til en lang. Den returnerte verdien er det interne nummeret som excel brukte for datalagring avrundet. Hvis dette tallet er utenfor de forventede lange grensene for VBA, får vi en Run-Time-feil '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: 12485Slutt Sub |