Funktsioon VBA CLng | Kuidas kasutada funktsiooni CLng? (koos näidetega)

Exceli VBA CLng funktsioon

„CLNG” tähendab andmetüüpi „Teisenda pikaks”. Andmetüübi täisarv on vahemikus -32768 kuni 32767, nii et kõik, mida soovite nendesse muutujatesse salvestada, peame VBA-s kasutama LONG andmetüüpi.

Muutujad on võtmetähtsusega igas programmeerimiskeeles ja ka VBA ei erine sellest. Muutujaid kasutamata on pikkade koodide kirjutamine peaaegu võimatu. Kui muutujad on olulised, on nende muutujate omistatud andmetüübi muutuja veelgi olulisem, kuna neile omistatud andmetüüp on lõpptulemus, mille saame.

Sageli määrame arvandmed stringiks, nii et see põhjustab arvutuste tegemisel vea, nii et teisendusfunktsioonide abil saame teisendada soovitud andmetüübi. Tavaliselt kasutatavad muundurifunktsioonid on vng-s CLng, CInt, CDbl, CDate, CDec. Selles artiklis näitame teile täisarvu andmetüübi teisendamise funktsiooni “CLNG”.

Süntaks

Allpool on funktsiooni CLNG süntaks.

  • Avaldis pole midagi muud kui väärtus või muutuja, mille soovime teisendada andmetüübiks LONG.

Märkus. Väärtus, mida proovime teisendada, peaks olema arvuline, välja arvatud arvuline väärtus, mis põhjustab „Run Time Error 13: Type Mismatch”

Näited funktsiooni CLng kasutamiseks VBA-s

Selle VBA CLNG Exceli malli saate alla laadida siit - VBA CLNG Exceli mall

Näide 1

Nüüd näeme, kuidas teisendada tekstisalvestatud väärtus andmetüübiks „pikk”.

Näite saamiseks vaadake allolevat koodi.

Kood:

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

Nüüd uurige koodi hoolikalt, et mõista, kuidas see töötab.

Esiteks oleme deklareerinud kaks muutujat String ja Long.

Kood:

 Dim LongNumber As String Dim LongTulemus on nii pikk 

Stringmuutuja jaoks oleme määranud väärtuse numbri, kuid topelt jutumärkides, nii et see tähendab, et see käsitleb numbrit "2564589" stringina, mitte "Long" muutujana. Teise muutuja LongResult puhul oleme stringide salvestatud numbri teisendamiseks LONG muutujaks kasutanud funktsiooni Clng (LongNumber).

Järgmine teatekast näitab tulemust PIKA numbrina, mis teisendatakse stringist pikaks andmetüübiks.

Väljund:

Näide 2

Nüüd heitke pilk allpool olevale koodile.

Kood:

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

See peaks andma meile tulemuseks tüübide mittevastavus .

Vea parandamiseks on vea tekkimise mõistmine väga oluline. Kui vaatate tähelepanelikult esimese muutuja LongNumber muutujaid, oleme määranud teksti väärtuseks „Pikk number”, siis oleme selle muutnud LONG-tüüpi andmeteks Exceli VBA CLNG-funktsiooniga.

Selle vea saamise põhjuseks on see, et LONG andmetüüp saab aktsepteerida ainult arvandmetüüpi, kuna oleme muutujale sisestanud stringi väärtuse, see ei saa stringiväärtust või tekstiväärtust teisendada pikaks andmetüübiks, seega annab viga Tüüp Mismatch ”.

Näide # 3

Veel üks viga, mille saame PIKKAL andmetüübil, on „ülevoolu viga vba-s”, st pika muutuva andmetüübi väärtus võib olla vahemikus -2 147 483 648 kuni 2 147 483 647. Nii et mis tahes väärtus, mis ületab seda, põhjustab ülevoolu tõrke.

Näite saamiseks vaadake allolevat koodi.

Kood:

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

Muutujale „LongNumber” olen määranud numbri „25645890003”, mis ületab andmetüübi „Long” piiri. Kui käivitame ülaltoodud koodi, ilmneb tõrge "ületäitumine" .

Seega, kui teisendate mis tahes muud tüüpi andmetüübi pikkadeks andmetüüpideks, peame meeles pidama kõiki ülaltoodud asju.

Siinkohal mäletatav asi

  • CLNG tähistab konverteerimist pikaks.
  • See funktsioon teisendab teise andmetüübi pikaks andmetüübiks.
  • Ülevoolu tõrke vältimiseks peate teadma pika andmetüübi piiri.

$config[zx-auto] not found$config[zx-overlay] not found