VBA Long Data Type (Dim Variable)

Duga varijabla

VBA Dugo tip podataka koristi se za spremanje vrlo dugih podataka (-2,147,483,648 do 2,147,483,648). Može pohraniti samo cijele brojeve (bez decimalnih mjesta).

Za deklariranje Long varijable koristite Dim Statement (skraćeno od Dimension):

1 Dim lngA kao Long

Zatim, da biste dodijelili vrijednost varijabli, jednostavno upotrijebite znak jednakosti:

1 lngA = 30000

Stavljanje ovoga u postupak izgleda ovako:

12345678 Pod lngExample ()'deklarirajte long varijabluDim lngA kao Long'popunite dugačku varijablulngA = 30000'prikazati okvir s porukomMsgBox lngAKraj podm

Ako pokrenete gornji kôd, prikazat će se sljedeći okvir s porukom.

Tip podataka LongLong

Tip podataka LongLong dostupan je samo u 64 -bitnoj verziji sustava Microsoft Office. Ako koristite 32 -bitnu verziju sustava Office na 64 -bitnom stroju, ova vrsta podataka neće biti dostupna. Podržava brojeve u rasponu od -9,223,372,036,854,775,808 do 9,223,372,036,854,775,807.

1 Dim lngA kao LongLong

Tip podataka LongPtr

LongPtr je uveden u VBA kako bi podržao 64 -bitnu verziju Microsoft Officea. Na 32 -bitnom sustavu tretira se kao Long, a na 64 -bitnim sustavima kao LongLong.

1 Dim lngA kao LongPtr

Napomena: LongPtr nije dostupan u programu Excel 2007 ili starijem.

Decimalne vrijednosti i dugi tipovi podataka

Duge varijable ne mogu pohraniti decimalne vrijednosti. Ako decimalni broj unesete dugo, decimalni broj će se zaokružiti kako bi se decimalni broj uklonio.

Stoga, ako biste pokrenuli sljedeći postupak:

12345678 Pod LngExampleB ()'deklarirajte long varijabluDim lngA kao Long'popunite dugačku varijablulngA = 3524,12'prikazati okvir s porukomMsgBox lngAKraj podm

Decimalna bi se vrijednost zaokružila prema dolje, vraćajući sljedeću poruku:

Međutim, ovaj kôd ispod:

12345678 Pod LngExampleB ()'deklarirajte long varijabluDim lngA kao Long'popunite dugačku varijablulngA = 3524,12'prikazati okvir s porukomMsgBox lngAKraj podm

Vratio bi sljedeći okvir s porukom (zaokruživanje):

Decimalni / dvostruki tip podataka

Ako želite pohraniti decimalno mjesto, morali biste deklarirati varijablu koja dopušta decimalna mjesta. Postoje 3 vrste podataka koje možete koristiti - pojedinačne, dvostruke ili valutne.

1 Dim sngCijena kao Single
1 Dim dblCijena kao Double
1 Dim curCijena kao valuta

Jedinstveni tip podataka zaokružit će decimalnu točku malo drugačije od dvostrukog i valutnog tipa podataka, pa je za točnost poželjno koristiti dvostruko do pojedinačno. Dvostruki može imati do 12 decimalnih mjesta, dok valuta i pojedinačni mogu imati do 4 decimalna mjesta.

Deklarirajte dugu varijablu na modulu ili globalnoj razini

U prethodnim primjerima deklarirali smo varijablu Long unutar postupka. Varijable deklarirane postupkom mogu se koristiti samo unutar tog postupka.

Umjesto toga, možete deklarirati Long varijable na modulu ili globalnoj razini.

Razina modula

Razina modula varijable su deklarirane na vrhu kodnih modula sa Dim izjava.

Ove se varijable mogu koristiti sa bilo kojim postupkom u tom kodnom modulu.

Globalna razina

Globalna razina varijable se također deklariraju pri vrhu modula koda. Međutim, umjesto korištenja Dim izjavu, koristite Javnost izjavu koja označava da je duga varijabla dostupna za korištenje u cijelom vašem VBA projektu.

1 Javna lngA kao duga

Ako biste deklarirali dugačku varijablu na razini modula, a zatim je pokušali koristiti u drugom modulu, došlo bi do pogreške.

Međutim, da ste koristili ključnu riječ Public za deklaraciju duge varijable, pogreška se ne bi dogodila i postupak bi savršeno funkcionirao.

Format dugo pohranjen kao niz

Možda postoji vrijeme u kojem želite oblikovati dugu vrstu podataka u niz - na primjer datum ili želite prikazati simbol valute.

Da biste to postigli, koristite funkciju Format.

Sljedeći postupak:

1234567891011 Sub TestLongToString ()'deklarirati varijablu nizaZatamnite strDate kao niz'deklarirajte long i popunite vrijednostZatamnite lngDate koliko godlngDate = 44055'pretvoriti long u niz oblikovan kao datumstrDate = Format (lngDate, "dd mmmm yyyy")'pogledajte rezultatIspravljanje ispisa strDateKraj podm

vratio bi donji rezultat:

i sljedeći postupak

1234567891011 Sub TestLongtoCurrencyString ()'deklarirati varijablu nizaDim strMoney As String'deklarirajte long i popunite vrijednostDim lngValue As LonglngValue = 44055'pretvorite long u niz s simbolom valutestrMoney = Format (lngValue, "$#, ## 0")'pogledajte rezultatMsgBox strMoneyKraj podm

vratio bi ovaj rezultat:

wave wave wave wave wave