VBA CLng-funktion - Hur använder jag CLng-funktionen? (med exempel)

Innehållsförteckning

Excel VBA CLng-funktion

”CLNG” betyder ”Konvertera till lång” datatyp. Heltalsdatatypsgräns är mellan -32768 till 32767, så allt överflöd du vill lagra till dessa variabler måste vi använda LÅNG datatyp i VBA.

Variabler är väsentliga i alla programmeringsspråk, och VBA är inte heller annorlunda. Utan att använda variabler är det nästan en omöjlig uppgift att skriva långa koder. Om variabler är väsentliga är datatypvariabeln som vi tilldelar dessa variabler ännu mer kritisk eftersom den datatyp som vi ger dem är resultatet vi får.

Ofta kan vi tilldela numeriska data som "Sträng", så detta kommer att kasta ett fel när vi gör beräkningar, så genom att använda konverteringsfunktioner kan vi konvertera den datatyp vi vill ha. Vanligen använda omvandlarfunktioner är CLng, CInt, CDbl, CDate, CDec i VBA. I den här artikeln visar vi dig om omvandlingsfunktionen för heltal datatyp ”CLNG.”

Syntax

Nedan är syntaxen för CLNG-funktionen.

  • Uttrycket är inget annat än värdet eller variabeln som vi vill konvertera till LONG-datatypen.

Obs: Värdet som vi försöker konvertera bör vara ett numeriskt annat än numeriskt värde kommer att orsaka ett "Run Time Error 13: Type Mismatch."

Exempel för att använda CLng-funktionen i VBA

Exempel 1

Nu får vi se hur vi konverterar det lagrade textvärdet till datatypen "Lång".

Titta till exempel på koden nedan.

Koda:

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

Så undersök nu koden noggrant för att förstå hur det fungerar.

Först har vi förklarat två variabler, String respektive Long.

Koda:

Dim LongNumber Som String Dim LongResultat As Long

För strängvariabeln har vi tilldelat värdet numret men i dubbla citat, så vad detta kommer att göra är att det kommer att behandla siffran "2564589" som en sträng, inte som en "lång" variabel. Nu för den andra variabeln, LongResult, har vi använt Clng (LongNumber) -funktionen för att konvertera det lagrade linjenumret till en LONG-variabel.

Nästa meddelandefält visar resultatet som ett LONG-nummer konverterat från sträng till lång datatyp.

Produktion:

Exempel 2

Ta nu en titt på koden nedan.

Koda:

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

Detta borde ge oss resultatet som "Type Mismatch."

Att förstå varför felet uppstår är grundläggande för att åtgärda felet. När du granskar variablerna för den första variabeln LongNumber noggrant, har vi tilldelat textvärdet "Long Number", sedan har vi använt excel VBA CLNG-funktionen för att konvertera detta till LONG-datatypen.

Anledningen till att vi fick det här felet är att LONG-datatypen endast kan acceptera numerisk datatyp eftersom vi har levererat strängvärde till variabeln, den kan inte konvertera strängvärdet eller textvärdet till en lång datatyp. Därför ger det felet som "Type Mismatch."

Exempel # 3

Ett ytterligare fel vi får med LONG-datatypen är "Overflow Error in VBA", dvs. den långa variabla datatypen kan innehålla värden från -2,147,483,648 2,147,483,647. Så vilket belopp som helst ovanför detta kommer att orsaka ett överflödsfel.

Titta till exempel på koden nedan.

Koda:

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

För variabeln "LongNumber" har jag tilldelat numret "25645890003", vilket är över gränsen för datatypen "Long". När vi kör ovanstående kod kommer det att uppstå ett "Overflow" -fel.

Så när vi konverterar någon annan datatyp till lång datatyp måste vi komma ihåg alla ovanstående saker.

Saken att komma ihåg här

  • CLNG står för konvertera till lång.
  • Denna funktion konverterar den andra datatypen till en lång datatyp.
  • Du måste känna till gränsen för den utökade datatypen för att förhindra överflödsfel.

Intressanta artiklar...