VBA CLng-functie - Hoe gebruik je de CLng-functie? (met voorbeelden)

Inhoudsopgave

Excel VBA CLng-functie

"CLNG" betekent "Converteren naar lang" gegevenstype. De limiet voor het gegevenstype voor gehele getallen ligt tussen -32768 en 32767, dus als u meer wilt opslaan in deze variabelen, moeten we het gegevenstype LONG in VBA gebruiken.

Variabelen zijn essentieel in elke programmeertaal, en VBA is ook niet anders. Zonder variabelen te gebruiken, is het bijna een onmogelijke taak om lange codes te schrijven. Als variabelen essentieel zijn, dan is de datatype-variabele die we aan deze variabelen toewijzen zelfs nog kritischer omdat het datatype dat we eraan geven het resultaat is dat we krijgen.

Vaak kunnen we de numerieke gegevens toewijzen als "String", dus dit zal een fout veroorzaken tijdens het uitvoeren van berekeningen, dus door conversiefuncties te gebruiken, kunnen we het gegevenstype dat we willen converteren. Veelgebruikte converterfuncties zijn CLng, CInt, CDbl, CDate, CDec in VBA. In dit artikel laten we u zien over de conversiefunctie van het gegevenstype gehele getallen "CLNG".

Syntaxis

Hieronder staat de syntaxis van de CLNG-functie.

  • De uitdrukking is niets anders dan de waarde of de variabele die we naar het gegevenstype LONG willen converteren.

Opmerking: de waarde die we proberen te converteren, moet een numerieke waarde zijn, iets anders dan een numerieke waarde zal een "Run Time Error 13: Type Mismatch" veroorzaken.

Voorbeelden om de CLng-functie in VBA te gebruiken

Voorbeeld 1

Nu zullen we zien hoe we de opgeslagen tekstwaarde converteren naar het gegevenstype "Lang".

Kijk bijvoorbeeld naar de onderstaande code.

Code:

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

Bestudeer de code dus nu nauwkeurig om te begrijpen hoe dit werkt.

Ten eerste hebben we twee variabelen gedeclareerd, respectievelijk String en Long.

Code:

Dim LongNumber As String Dim LongResult As Long

Voor de stringvariabele hebben we het waardegetal toegewezen, maar tussen dubbele aanhalingstekens, dus wat dit zal doen, is dat het nummer "2564589" als een string wordt behandeld, niet als een "Lange" variabele. Voor de andere variabele, LongResult, hebben we de functie Clng (LongNumber) gebruikt om het op de regel opgeslagen nummer om te zetten in een LONG-variabele.

Het volgende berichtvenster toont het resultaat als een LANG getal geconverteerd van een string naar een lang datatype.

Uitgang:

Voorbeeld 2

Bekijk nu de onderstaande code.

Code:

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

Dit zou ons het resultaat moeten geven als 'Type komt niet overeen'.

Begrijpen waarom de fout optreedt, is van fundamenteel belang om de fout te herstellen. Als je de variabelen voor de eerste variabele LongNumber nauwkeurig onderzoekt, hebben we de tekstwaarde toegewezen als "Long Number", en vervolgens hebben we de Excel VBA CLNG-functie gebruikt om dit naar het LONG-gegevenstype te converteren.

De reden waarom we deze fout hebben gekregen, is dat het LONG-gegevenstype alleen een numeriek gegevenstype kan accepteren, aangezien we tekenreekswaarde aan de variabele hebben verstrekt, het kan de tekenreekswaarde of tekstwaarde niet converteren naar een lang gegevenstype. Daarom wordt de fout weergegeven als 'Type komt niet overeen'.

Voorbeeld # 3

Nog een fout die we krijgen met het gegevenstype LONG is "Overflowfout in VBA", dwz het gegevenstype Long kan waarden bevatten van -2.147.483.648 2.147.483.647. Dus elk bedrag daarboven zal een overloopfout veroorzaken.

Kijk bijvoorbeeld naar de onderstaande code.

Code:

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

Voor de variabele "LongNumber" heb ik het nummer "25645890003" toegewezen, wat de limiet van het gegevenstype "Long" overschrijdt. Wanneer we de bovenstaande code uitvoeren, zal deze een "Overflow" -fout tegenkomen .

Dus bij het converteren van een ander gegevenstype naar een lang gegevenstype, moeten we met alle bovenstaande zaken rekening houden.

Het ding om hier te onthouden

  • CLNG staat voor convert to long.
  • Deze functie converteert het andere gegevenstype naar een lang gegevenstype.
  • U moet de limiet van het uitgebreide gegevenstype kennen om overloopfouten te voorkomen.

Interessante artikelen...