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

Lang L: none (table-of-contents)

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 hädavajalikud igas programmeerimiskeeles ja ka VBA ei erine sellest. Muutujaid kasutamata on pikkade koodide kirjutamine peaaegu võimatu ülesanne. Kui muutujad on hädavajalikud, siis on nende muutujate omistatud andmetüübi muutuja veelgi kriitilisem, kuna neile antud andmetüüp on tulemus, mille saame.

Sageli võime numbrilised andmed määrata 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 me näitame teile täisarvu andmetüübi teisendusfunktsiooni 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

Näide 1

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

Näiteks 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 vastavalt String ja Long.

Kood:

Dim LongNumber As String Dim LongTulemus on nii pikk

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

Järgmine teatekast näitab tulemust PIKA numbrina, mis on teisendatud 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 tekkimise põhjuste mõistmine on vea parandamiseks ülitähtis. Kui uurite tähelepanelikult esimese muutuja LongNumber muutujaid, oleme määranud teksti väärtuseks „Pikk arv”, siis oleme selle funktsiooni LONG andmetüübiks teisendamiseks kasutanud funktsiooni excel VBA CLNG.

Selle vea saamise põhjuseks on see, et LONG andmetüüp suudab aktsepteerida ainult arvandmetüüpi, kuna oleme muutujale sisestanud stringi väärtuse, see ei saa stringi või teksti väärtust teisendada pikaks andmetüübiks. Seega annab see vea tüübi mittevastavusena.

Näide # 3

Veel üks viga, mille saame LONG-tüüpi andmetega, on „ülevoolu viga VBA-s”, st pikkade muutujate andmetüüp mahutab väärtusi vahemikus -2 147 483 648 2 147 483 647. Nii et mis tahes summa sellest suurem põhjustab ülevooluvea.

Näiteks 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 selles tõrge „ületäitumine” .

Niisiis, kui muudate muud tüüpi andmetüübid pikkadeks andmeteks, peame silmas pidama kõiki ülaltoodud asju.

Siinkohal meenutav asi

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

Huvitavad Artiklid...