Pag-andar ng VBA CLng | Paano gamitin ang CLng Function? (na may mga Halimbawa)

Pag-andar ng Excel VBA CLng

Ang ibig sabihin ng "CLNG" na "I-convert sa Mahaba" na uri ng data. Ang limitasyon ng uri ng data ng integer ay nasa pagitan ng -32768 hanggang 32767, kaya't ang anumang labis na nais mong iimbak sa mga variable na ito kung gayon kailangan naming gumamit ng LONG uri ng data sa VBA.

Ang mga variable ay susi sa anumang wika ng programa at ang VBA ay hindi rin magkakaiba. Nang hindi gumagamit ng mga variable ay halos imposibleng gawain na magsulat ng mahabang mga code. Kung ang mga variable ay mahalaga kung gayon ang variable ng datatype na itinalaga natin sa mga variable na ito ay mas mahalaga pa dahil ang datatype na itinalaga natin sa kanila ay ang huling resulta na nakukuha natin.

Kadalasan ang oras ay maaari nating italaga ang data na bilang bilang "String" kaya't magtapon ito ng isang error habang gumagawa ng mga kalkulasyon, kaya sa pamamagitan ng paggamit ng mga pag-andar ng pag-convert maaari nating mai-convert ang uri ng data na gusto namin. Ang mga karaniwang ginagamit na converter function ay ang CLng, CInt, CDbl, CDate, CDec sa vba. Sa artikulong ito, ipapakita namin sa iyo ang tungkol sa integer na uri ng pag-andar ng uri ng data na "CLNG".

Syntax

Nasa ibaba ang syntax ng pagpapaandar ng CLNG.

  • Pagpapahayag ay walang iba kundi ang halaga o variable na nais naming mai-convert sa LONG na uri ng data.

Tandaan: Ang halagang sinusubukan naming i-convert ay dapat na isang bilang na bilang ayon sa bilang maliban sa numerong halaga ay magdudulot ng a "Run Time Error 13: Type Mismatch"

Mga halimbawa upang magamit ang CLng Function sa VBA

Maaari mong i-download ang VBA CLNG Excel Template dito - VBA CLNG Excel Template

Halimbawa # 1

Ngayon makikita natin kung paano natin mai-convert ang nakaimbak na halaga ng teksto sa "Mahabang" uri ng data.

Para sa isang halimbawa tingnan ang code sa ibaba.

Code:

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

Kaya, ngayon suriing mabuti ang code upang maunawaan kung paano ito gumagana.

Una, idineklara namin ang dalawang variable na String at Long ayon sa pagkakabanggit.

Code:

 Dim LongNumber As String Dim LongResult As Long 

Para sa variable ng string naitalaga namin ang halaga ng halaga ngunit sa mga dobleng quote, kaya kung ano ang gagawin nito ay itatrato nito ang bilang na "2564589" bilang isang string, hindi bilang "Long" variable. Ngayon para sa iba pang variable na LongResult, ginamit namin ang pagpapaandar ng Clng (LongNumber) upang i-convert ang string na nakaimbak na numero sa isang LONG variable.

Ipapakita ng susunod na kahon ng mensahe ang resulta bilang isang MAHABANG numero na na-convert mula sa string hanggang sa mahabang uri ng data.

Output:

Halimbawa # 2

Tingnan ngayon ang code sa ibaba.

Code:

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

Ito ay dapat magbigay sa amin ng resulta bilang "Type Mismatch".

Ang pag-unawa kung bakit nagaganap ang error ay napakahalaga upang ayusin ang error. Kapag tiningnan mo nang mabuti ang mga variable para sa unang variable na LongNumber naitalaga namin ang halaga ng teksto bilang "Long Number" pagkatapos ay ginamit namin ang excel na function ng VBA CLNG upang i-convert ito sa LONG uri ng data.

Ang dahilan kung bakit nakuha namin ang error na ito ay ang uri ng LONG data ay maaaring tanggapin lamang ang bilang ng bilang ng data dahil nagbigay kami ng halaga ng string sa variable na hindi nito mai-convert ang halaga ng string o halaga ng teksto sa isang mahabang uri ng data, kaya nagbibigay ito ng error bilang Type Mismatch ”.

Halimbawa # 3

Ang isa pang error na nakukuha namin sa LONG uri ng data ay ang "Overflow Error in vba" ibig sabihin, ang Long variable na uri ng data ay maaaring magtaglay ng mga halaga mula -2,147,483,648 hanggang 2,147,483,647. Kaya't ang anumang halaga sa itaas nito ay magdudulot ng isang overflow error.

Para sa isang halimbawa tingnan ang code sa ibaba.

Code:

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

Para sa variable na "LongNumber" naitalaga ko ang bilang na "25645890003" na higit sa limitasyon ng "Long" na uri ng data. Kapag pinatakbo namin ang code sa itaas ay makakaharap ito ng isang "Pag-apaw" kamalian

Kaya, kapag nagko-convert ka ng anumang iba pang uri ng data sa Mahabang uri ng data kailangan naming tandaan ang lahat ng mga nabanggit na bagay.

Bagay na Dapat Tandaan dito

  • Ang CLNG ay nangangahulugang i-convert sa haba.
  • Ginagawa ng pagpapaandar na ito ang iba pang uri ng data sa isang mahabang uri ng data.
  • Kailangan mong malaman ang limitasyon ng mahabang uri ng data upang maiwasan ang overflow error.