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: