Funcția Excel VBA CLng
„CLNG” înseamnă tipul de date „Conversie în lung”. Limita tipului de date întregi este cuprinsă între -32768 și 32767, deci orice exces pe care doriți să-l stocați la aceste variabile trebuie să folosim tipul de date LONG în VBA.
Variabilele sunt esențiale în orice limbaj de programare și nici VBA nu diferă. Fără a utiliza variabile, este aproape o sarcină imposibilă să scrieți coduri lungi. Dacă variabilele sunt esențiale, atunci variabila tip de date pe care o atribuim acestor variabile este și mai critică, deoarece tipul de date pe care le le oferim este rezultatul pe care îl obținem.
De multe ori putem atribui datele numerice ca „Șir”, astfel încât aceasta va genera o eroare în timp ce facem calcule, astfel încât, folosind funcțiile de conversie, putem converti tipul de date dorit. Funcțiile convertorului utilizate în mod obișnuit sunt CLng, CInt, CDbl, CDate, CDec în VBA. În acest articol, vă vom arăta despre funcția de conversie a tipului de date întregi „CLNG”.

Sintaxă
Mai jos este sintaxa funcției CLNG.

- Expresia nu este altceva decât valoarea sau variabila pe care vrem să o convertim la tipul de date LONG.
Notă: valoarea pe care încercăm să o convertim ar trebui să fie altceva numerică decât valoarea numerică va provoca o „Eroare timp de rulare 13: necorespundere tip”.
Exemple de utilizare a funcției CLng în VBA
Exemplul nr. 1
Acum vom vedea cum putem converti valoarea stocată a textului în tipul de date „lung”.
De exemplu, uitați-vă la codul de mai jos.
Cod:
Sub CLNG_Example1 () Dim LongNumber As String Dim LongResult As Long LongNumber = "2564589" LongResult = CLng (LongNumber) MsgBox LongResult End Sub

Deci, acum examinați îndeaproape codul pentru a înțelege cum funcționează acest lucru.
În primul rând, am declarat două variabile, String și respectiv Long.
Cod:
Dim LongNumber as String Dim LongResult As Long

Pentru variabila șir, am atribuit numărul de valoare, dar în ghilimele duble, deci ceea ce va face este că va trata numărul „2564589” ca un șir, nu ca o variabilă „lungă”. Acum, pentru cealaltă variabilă, LongResult, am folosit funcția Clng (LongNumber) pentru a converti numărul stocat pe linie într-o variabilă LONG.
Următoarea casetă de mesaj va afișa rezultatul ca un număr LONG convertit din șir în tip de date lung.
Ieșire:

Exemplul nr. 2
Acum aruncați o privire la codul de mai jos.
Cod:
Sub CLNG_Example2 () Dim LongNumber As String Dim LongResult As Long LongNumber = "Număr lung" LongResult = CLng (LongNumber) MsgBox LongResult End Sub

Acest lucru ar trebui să ne dea rezultatul ca „Tip nepotrivire”.

Înțelegerea de ce apare eroarea este fundamentală pentru a remedia eroarea. Când examinați îndeaproape variabilele pentru prima variabilă LongNumber, am atribuit valoarea textului ca „Număr lung”, apoi am folosit funcția excel VBA CLNG pentru a converti aceasta la tipul de date LONG.

Motivul pentru care am obținut această eroare este că tipul de date LONG poate accepta doar tipul de date numerice, deoarece am furnizat valoarea șirului variabilei, nu poate converti valoarea șirului sau valoarea textului într-un tip de date lung. Prin urmare, indică eroarea ca „Tip nepotrivire”.
Exemplul nr. 3
O altă eroare pe care o primim cu tipul de date LONG este „Eroare de depășire în VBA”, adică tipul de date variabile Long poate conține valori de la -2.147.483.648 2.147.483.647. Deci, orice sumă peste aceasta va provoca o eroare de depășire.
De exemplu, uitați-vă la codul de mai jos.
Cod:
Sub CLNG_Example3 () Dim LongNumber As String Dim LongResult As Long LongNumber = "25645890003" LongResult = CLng (LongNumber) MsgBox LongResult End Sub

Pentru variabila „Număr lung”, am atribuit numărul „25645890003”, care depășește limita tipului de date „lung”. Când rulăm codul de mai sus, acesta va întâlni o eroare „Overflow” .

Deci, atunci când convertim orice alt tip de date în tip de date lung, trebuie să ținem cont de toate lucrurile de mai sus.
Lucrul de reținut aici
- CLNG înseamnă conversia în lung.
- Această funcție convertește celălalt tip de date într-un tip de date lung.
- Trebuie să cunoașteți limita tipului de date extins pentru a preveni eroarea de depășire.