VBA CLng-funktion - Hvordan bruges CLng-funktion? (med eksempler)

Indholdsfortegnelse

Excel VBA CLng-funktion

"CLNG" betyder "Konverter til lang" datatype. Heltalsdatatypegrænse er mellem -32768 til 32767, så noget overskydende, du vil gemme til disse variabler, skal vi bruge LONG datatype i VBA.

Variabler er vigtige på ethvert programmeringssprog, og VBA er heller ikke anderledes. Uden at bruge variabler er det næsten en umulig opgave at skrive lange koder. Hvis variabler er vigtige, er datatypevariablen, som vi tildeler disse variabler, endnu mere kritisk, fordi den datatype, vi giver dem, er det resultat, vi får.

Ofte tildeler vi de numeriske data som "String", så dette vil kaste en fejl under beregningerne, så ved at bruge konverteringsfunktioner kan vi konvertere den datatype, vi ønsker. Almindeligt anvendte konverterfunktioner er CLng, CInt, CDbl, CDate, CDec i VBA. I denne artikel viser vi dig om konverteringsfunktionen for heltal datatypen “CLNG.”

Syntaks

Nedenfor er syntaksen for CLNG-funktionen.

  • Udtrykket er intet andet end den værdi eller den variabel, som vi vil konvertere til LONG-datatypen.

Bemærk: Den værdi, som vi forsøger at konvertere, skal være en numerisk alt andet end den numeriske værdi vil forårsage en "Run Time Error 13: Type Mismatch."

Eksempler til brug af CLng-funktionen i VBA

Eksempel nr. 1

Nu vil vi se, hvordan vi konverterer den tekstlagrede værdi til "Lang" datatype.

Se f.eks. Nedenstående kode.

Kode:

Sub CLNG_Example1 () Dim LongNumber As String Dim LongResult As Long LongNumber = "2564589" LongResult = CLng (LongNumber) MsgBox LongResult End Sub

Så undersøge nu koden nøje for at forstå, hvordan dette fungerer.

For det første har vi deklareret to variabler, henholdsvis streng og lang.

Kode:

Dim LongNumber Som String Dim LongResultat Som Long

For strengvariablen har vi tildelt værdienummeret, men i dobbelt anførselstegn, så hvad dette vil gøre er, at det vil behandle nummeret "2564589" som en streng, ikke som en "Lang" variabel. Nu til den anden variabel, LongResult, har vi brugt Clng (LongNumber) -funktionen til at konvertere det linjelagrede nummer til en LONG-variabel.

Den næste meddelelsesboks viser resultatet som et LANGT nummer konverteret fra streng til lang datatype.

Produktion:

Eksempel 2

Se nu på nedenstående kode.

Kode:

Sub CLNG_Example2 () Dim LongNumber As String Dim LongResult As Long LongNumber = "Long Number" LongResult = CLng (LongNumber) MsgBox LongResult End Sub

Dette skulle give os resultatet som "Type Mismatch."

At forstå, hvorfor fejlen opstår, er grundlæggende for at rette fejlen. Når du nøje undersøger variablerne for den første variabel LongNumber, har vi tildelt tekstværdien som "Long Number", så har vi brugt excel VBA CLNG-funktionen til at konvertere denne til LONG-datatypen.

Årsagen til, at vi fik denne fejl, er, at LONG-datatypen kun accepterer numerisk datatype, da vi har leveret strengværdi til variablen, den kan ikke konvertere strengværdien eller tekstværdien til en lang datatype. Derfor giver det fejlen som "Type Mismatch."

Eksempel 3

En yderligere fejl, vi får med LONG-datatypen, er "Overflow Error in VBA", dvs. datatypen Lang variabel kan indeholde værdier fra -2,147,483,648 2,147,483,647. Så ethvert beløb over dette vil forårsage en overløbsfejl.

Se f.eks. Nedenstående kode.

Kode:

Sub CLNG_Example3 () Dim LongNumber As String Dim LongResult As Long LongNumber = "25645890003" LongResult = CLng (LongNumber) MsgBox LongResult End Sub

For variablen "LongNumber" har jeg tildelt nummeret "25645890003", hvilket er over grænsen for datatypen "Long". Når vi kører ovenstående kode, støder den på en "Overflow" -fejl.

Så når vi konverterer enhver anden datatype til lang datatype, skal vi huske alle ovenstående ting.

Ting at huske her

  • CLNG står for konvertere til lang.
  • Denne funktion konverterer den anden datatype til en lang datatype.
  • Du skal kende grænsen for den udvidede datatype for at forhindre overløbsfejl.

Interessante artikler...