Celobrojna (Int) spremenljivka
VBA Int podatkovni tip se uporablja za shranjevanje celih števil (brez decimalnih vrednosti). Vendar, kot bomo videli spodaj, morajo vrednosti Integer biti v razponu od ‑32768 do 32768.
Za razglasitev spremenljivke Int uporabite stavek Dim (okrajšava za Dimension):
1 | Zatemni intA kot celo število |
Potem, če želite spremenljivki dodeliti vrednost, preprosto uporabite znak enako:
1 | intA = 30000 |
Dajanje tega v postopek izgleda tako:
12345678 | Sub IntExample ()'razglasi celo številoZatemni intA kot celo število'napolni celo številointA = 30000'pokaži polje s sporočilomMsgBox intAEnd Sub |
Če zaženete zgornjo kodo, se prikaže naslednje polje s sporočilom.
Vrsta dolge spremenljivke
Kot je navedeno zgoraj, lahko spremenljivke Int shranijo samo vrednosti med ‑32768 do 32768. Če poskusite vrednosti zunaj tega območja dodeliti spremenljivki Int, boste prejeli napako:
Ko kliknete na de-bug, se koda zlomi pri 'Zapolni celoštevilčno vrstico saj celo število ne more shraniti števila do 50000.
Namesto tega lahko spremenite spremenljivko z dolga podatkovni tip:
1 | Dim longA kot Long |
Dolge spremenljivke lahko shranijo zelo dolge vrste podatkov (-2,147,483,648 do 2,147,483,648).
<>
Zakaj bi namesto dolgih spremenljivk uporabili spremenljivke Int?
Dolge spremenljivke porabijo več pomnilnika. Pred leti je bil pri pisanju kode pomnilnik velika skrb, zdaj pa je računalniška tehnologija precej izboljšana in dvomljivo je, da boste pri pisanju kode VBA naleteli na težave s pomnilnikom, ki jih povzročajo dolge spremenljivke.
Priporočamo, da namesto spremenljivk Int vedno uporabljate dolge spremenljivke. V tem vodiču bomo nadaljevali z razpravljanjem o spremenljivkah Int, vendar ne pozabite, da lahko namesto tega uporabite vrsto spremenljivke Long.
Decimalne vrednosti in vrste podatkov Int
Int spremenljivke ne morejo shranjevati decimalnih vrednosti. Če decimalno številko posredujete celo število, se decimalno število zaokroži, da se decimalka odstrani.
Če bi torej izvedli spodnji postopek:
12345678 | Sub IntExampleB ()'razglasi celo številoZatemni intA kot celo število'napolni celo številointA = 3524,12'pokaži polje s sporočilomMsgBox intAEnd Sub |
Dobili bi naslednji rezultat (zaokroževanje navzdol):
Vendar pa spodnja koda:
12345678 | Sub IntExampleB ()'razglasi celo številoZatemni intA kot celo število'napolni celo številointA = 3524,52'pokaži polje s sporočilomMsgBox intAEnd Sub |
Vrnilo bi se naslednje sporočilo (zaokroževanje):
Decimalni / dvojni tip podatkov
Če želite shraniti decimalno mesto, bi morali deklarirati spremenljivko, ki omogoča decimalna mesta. Uporabite lahko 3 vrste podatkov - enojne, dvojne ali valutne.
1 | Dim sngCena kot enojna |
1 | Zatemni dblCena kot dvojna |
1 | Dim curCena kot valuta |
Podatkovni tip Single bo zaokrožil decimalno vejico nekoliko drugače kot dvojni in valutni tip podatkov, zato je za natančnost bolje uporabiti dvojno do enojno. Dvojnik ima lahko do 12 decimalnih mest, valuta in samski pa do 4 decimalna mesta.
Za več informacij o teh vrstah podatkov si lahko ogledate tukaj.
Razglasite spremenljivko Int na ravni modula ali na globalni ravni
V prejšnjih primerih smo v postopku razglasili spremenljivko Int. Spremenljivke, deklarirane s postopkom, se lahko uporabljajo samo v tem postopku.
Namesto tega lahko razglasite spremenljivke Int na ravni modula ali na globalni ravni.
Raven modula
Raven modula spremenljivke so na vrhu kodnih modulov označene z Dim izjavo.
Te spremenljivke je mogoče uporabiti s katerim koli postopkom v tem kodnem modulu.
Globalna raven
Globalna raven spremenljivke so razglašene tudi na vrhu kodnih modulov. Namesto da uporabite Dim izjavo, uporabite Javno , ki označuje, da je celoštevilska spremenljivka na voljo za uporabo v celotnem projektu VBA.
1 | Javna IntA kot celo število |
Če bi celo število deklarirali na ravni modula in ga nato poskusili uporabiti v drugem modulu, bi prišlo do napake.
Če pa bi za razglasitev celega števila uporabili ključno besedo Public, se napaka ne bi zgodila in postopek bi deloval brezhibno.
Pretvori niz v Int
Morda obstajajo primeri ali primeri, ko boste morali številko, shranjeno kot niz, pretvoriti v celoštevilčno vrednost.
V neposrednem oknu boste opazili, da gre cela vrednost na desno, ki označuje številko, vrednost niza pa na levo, kar označuje besedilo.
Pretvori Int v niz
Nasprotno pa lahko celo število pretvorite v niz.
Za več informacij o teh vrstah podatkov si lahko ogledate tukaj.
Oblika celega števila shranjena kot niz
<>