VBA CLng funkcija | Kaip naudotis CLng funkcija? (su pavyzdžiais)

„Excel VBA CLng“ funkcija

„CLNG“ reiškia „konvertuoti į ilgą“ duomenų tipą. Duomenų tipo sveikojo skaičiaus apribojimas yra nuo -32768 iki 32767, taigi bet koks perteklinis kiekis, kurį norite išsaugoti šiems kintamiesiems, turime naudoti ilgą duomenų tipą VBA.

Kintamieji yra svarbiausi bet kurioje programavimo kalboje, o VBA taip pat nesiskiria. Nenaudojant kintamųjų, beveik neįmanoma užduotis parašyti ilgus kodus. Jei kintamieji yra svarbūs, duomenų tipo kintamasis, kurį priskiriame šiems kintamiesiems, yra dar svarbesnis, nes jiems priskiriamas duomenų tipas yra galutinis rezultatas.

Dažnai skaitinius duomenis galime priskirti kaip „Stygas“, todėl atlikdami skaičiavimus tai sukels klaidą, todėl naudodami konvertuojimo funkcijas galime konvertuoti norimą duomenų tipą. Dažniausiai naudojamos keitiklio funkcijos yra CLng, CInt, CDbl, CDate, CDec vba. Šiame straipsnyje parodysime apie sveikojo skaičiaus duomenų tipo konvertavimo funkciją „CLNG“.

Sintaksė

Žemiau pateikiama CLNG funkcijos sintaksė.

  • Išraiška yra ne kas kita, o vertė arba kintamasis, kurį norime konvertuoti į LONG duomenų tipą.

Pastaba: Vertė, kurią bandome konvertuoti, turėtų būti skaitinė, išskyrus skaitinę vertę, bus rodoma „Vykdymo laiko klaida 13: neatitikimas“

CLng funkcijos naudojimo VBA pavyzdžiai

Šį „VBA CLNG Excel“ šabloną galite atsisiųsti čia - „VBA CLNG Excel“ šablonas

1 pavyzdys

Dabar pamatysime, kaip konvertuoti įrašytą teksto vertę į „Long“ duomenų tipą.

Pavyzdžiui, pažvelkite į žemiau pateiktą kodą.

Kodas:

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

Taigi, atidžiai išnagrinėkite kodą, kad suprastumėte, kaip tai veikia.

Pirma, mes paskelbėme du kintamuosius atitinkamai „String“ ir „Long“.

Kodas:

 Dim LongNumber As String Dim LongResult as Long 

Eilutės kintamajam priskyrėme vertės numerį, bet dvigubose kabutėse, todėl tai padarys tai, kad skaičius „2564589“ bus traktuojamas kaip eilutė, o ne kaip „Ilgasis“ kintamasis. Dabar kitam „LongResult“ kintamajam naudojome funkciją „Clng“ („LongNumber“), kad eilutės saugomas numeris būtų paverstas LONG kintamuoju.

Kitame pranešimų laukelyje rezultatas bus rodomas kaip ILGAS skaičius, kuris konvertuojamas iš eilutės į ilgą duomenų tipą.

Išvestis:

2 pavyzdys

Dabar pažvelkite į žemiau esantį kodą.

Kodas:

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

Tai turėtų mums suteikti rezultatą kaip „Tipo neatitikimas“ .

Norint ištaisyti klaidą, labai svarbu suprasti, kodėl įvyksta klaida. Atidžiai pažvelgę ​​į pirmo kintamojo „LongNumber“ kintamuosius, mes priskyrėme teksto vertę kaip „Ilgas skaičius“, tada mes panaudojome „Excel VBA CLNG“ funkciją, kad tai paverstume LONG duomenų tipu.

Priežastis, kodėl gavome šią klaidą, yra ta, kad LONG duomenų tipas gali priimti tik skaitmeninius duomenų tipus, nes mes pateikėme eilutės vertę kintamajam, todėl jis negali konvertuoti eilutės vertės ar teksto vertės į ilgą duomenų tipą, todėl klaidą pateikia kaip „ Tipo neatitikimas".

3 pavyzdys

Dar viena klaida, kurią gauname su ILGU duomenų tipu, yra „Perpildymo klaida„ vba ““, ty ilgo kintamojo tipo duomenų reikšmės gali būti nuo 2 147 483 648 iki 2 147 483 647. Taigi bet kokia vertė, viršijanti tai, sukels perpildymo klaidą.

Pavyzdžiui, pažvelkite į žemiau pateiktą kodą.

Kodas:

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

Kintamajam „LongNumber“ priskyriau skaičių „25645890003“, kuris viršija „Long“ duomenų tipo ribą. Kai paleisime pirmiau nurodytą kodą, jis susidurs su klaida „Perpildymas“ .

Taigi, kai konvertuojate bet kurį kitą duomenų tipą į ilgų duomenų tipą, turime nepamiršti visų pirmiau minėtų dalykų.

Čia prisimintinas dalykas

  • CLNG reiškia konvertuoti į ilgą.
  • Ši funkcija konvertuoja kitą duomenų tipą į ilgą duomenų tipą.
  • Kad išvengtumėte perpildymo klaidos, turite žinoti ilgo duomenų tipo ribą.

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