VBA CLng-funksjon - Hvordan bruke CLng-funksjonen? (med eksempler)

Innholdsfortegnelse

Excel VBA CLng-funksjon

“CLNG” betyr “Konverter til lang” datatype. Heltall datatypegrense er mellom -32768 til 32767, så alt overskudd du vil lagre til disse variablene, må vi bruke LANG datatype i VBA.

Variabler er essensielle i ethvert programmeringsspråk, og VBA er heller ikke annerledes. Uten å bruke variabler er det nesten en umulig oppgave å skrive lange koder. Hvis variabler er essensielle, er datatypevariabelen som vi tilordner disse variablene enda mer kritisk fordi datatypen vi gir dem er resultatet vi får.

Ofte kan vi tilordne numeriske data som "String", så dette vil føre til en feil mens vi gjør beregninger, så ved å bruke konverteringsfunksjoner kan vi konvertere datatypen vi ønsker. Vanlige konverteringsfunksjoner er CLng, CInt, CDbl, CDate, CDec i VBA. I denne artikkelen vil vi vise deg om konverteringsfunksjonen for heltal datatypen “CLNG.”

Syntaks

Nedenfor er syntaksen til CLNG-funksjonen.

  • Uttrykket er bare verdien eller variabelen som vi vil konvertere til LONG datatypen.

Merk: Verdien vi prøver å konvertere skal være en numerisk alt annet enn numerisk verdi, vil føre til en "Run Time Error 13: Type Mismatch."

Eksempler på bruk av CLng-funksjonen i VBA

Eksempel 1

Nå skal vi se hvordan konverterer vi den lagrede teksten til den "lange" datatypen.

Se for eksempel på koden nedenfor.

Kode:

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

Så undersøk nå koden nøye for å forstå hvordan dette fungerer.

Først har vi deklarert to variabler, henholdsvis streng og lang.

Kode:

Dim LongNumber Som String Dim LongResultat Som Long

For strengvariabelen har vi tildelt verdienummeret, men i dobbelt anførselstegn, så dette vil gjøre er at det vil behandle tallet "2564589" som en streng, ikke som en "lang" variabel. Nå for den andre variabelen, LongResult, har vi brukt Clng (LongNumber) -funksjonen til å konvertere linjelagret nummer til en LANG variabel.

Den neste meldingsboksen viser resultatet som et LANGT nummer konvertert fra streng til lang datatype.

Produksjon:

Eksempel 2

Ta en titt på koden nedenfor.

Kode:

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

Dette burde gi oss resultatet som "Type Mismatch."

Å forstå hvorfor feilen oppstår er grunnleggende for å fikse feilen. Når du nøye undersøker variablene for den første variabelen LongNumber, har vi tildelt tekstverdien som "Long Number", så har vi brukt excel VBA CLNG-funksjonen til å konvertere denne til LONG datatypen.

Årsaken til at vi fikk denne feilen er at LONG-datatypen bare kan akseptere numerisk datatype siden vi har levert strengverdi til variabelen, den kan ikke konvertere strengverdien eller tekstverdien til en lang datatype. Derfor gir det feilen som "Type Mismatch."

Eksempel 3

En annen feil vi får med LONG-datatypen er "Overflow Error in VBA", dvs. datatypen Lang variabel kan inneholde verdier fra -2,147,483,648 2,147,483,647. Så ethvert beløp over dette vil føre til en overflytningsfeil.

Se for eksempel på koden nedenfor.

Kode:

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

For variabelen "LongNumber" har jeg tildelt nummeret "25645890003", som er over grensen for datatypen "Long". Når vi kjører ovennevnte kode, vil den støte på en "Overflow" -feil.

Så når vi konverterer andre datatyper til lang datatype, må vi huske på alle de ovennevnte tingene.

Tingen å huske her

  • CLNG står for konvertering til lang.
  • Denne funksjonen konverterer den andre datatypen til en lang datatype.
  • Du må vite grensen for den utvidede datatypen for å forhindre overflowfeil.

Interessante artikler...