Integer (Int) Typ premennej
VBA Int dátový typ sa používa na ukladanie celých čísel (žiadne desatinné hodnoty). Ako však uvidíme nižšie, celočíselné hodnoty musia byť v rozsahu –32768 až 32768.
Ak chcete deklarovať premennú Int, použite príkaz Dim (skratka pre dimenziu):
1 | Dim intA ako celé číslo |
Potom na priradenie hodnoty premennej jednoducho použite znamienko rovnosti:
1 | intA = 30 000 |
Uvedenie do postupu vyzerá takto:
12345678 | Podpredpis ()'deklarujte celé čísloDim intA ako celé číslo'vyplňte celé číslointA = 30 000“Zobraziť pole so správouMsgBox intAKoniec pod |
Ak spustíte kód uvedený vyššie, zobrazí sa nasledujúce okno so správou.
Dlhý variabilný typ
Ako bolo uvedené vyššie, premenné Int môžu ukladať iba hodnoty medzi –32768 až 32768. Ak sa pokúsite priradiť hodnotu mimo tohto rozsahu premennej Int, zobrazí sa chyba:
Keď kliknete na de-bug, kód sa zlomí v „Vyplňte celočíselný riadok ako celé číslo nemôže byť uložené číslo až 50 000.
Namiesto toho môžete premennú deklarovať pomocou Dlho Dátový typ:
1 | Dim longA as Long |
Do dlhých premenných je možné uložiť veľmi dlhé dátové typy (-2 147 483 648 až 2 147 483 648).
<>
Prečo by ste používali dlhé premenné namiesto dlhých?
Dlhé premenné zaberajú viac pamäte. Pred rokmi bola pamäť pri písaní kódu veľkým problémom, ale v súčasnosti sa výpočtová technológia výrazne zlepšila a je pochybné, že pri písaní kódu VBA narazíte na problémy s pamäťou spôsobené dlhými premennými.
Odporúčame namiesto premenných Int vždy používať dlhé premenné. V tomto návode budeme pokračovať diskusiou o premenných Int, ale majte na pamäti, že namiesto toho môžete použiť typ premennej Long.
Desatinné hodnoty a typy interných údajov
Premenné Int nemôžu ukladať desatinné hodnoty. Ak zadáte desatinné číslo alebo celé číslo, desatinné číslo sa zaokrúhli, aby sa odstránilo desatinné miesto.
Ak by ste teda mali spustiť nasledujúci postup:
12345678 | Podpredklad PríkladB ()'deklarujte celé čísloDim intA ako celé číslo'vyplňte celé číslointA = 3524,12“Zobraziť pole so správouMsgBox intAKoniec pod |
Získate nasledujúci výsledok (zaokrúhlený nadol):
Tento kód však nižšie:
12345678 | Podpredklad PríkladB ()'deklarujte celé čísloDim intA ako celé číslo'vyplňte celé číslointA = 3524,52“Zobraziť pole so správouMsgBox intAKoniec pod |
Vráti nasledujúce pole so správou (zaokrúhlené nahor):
Desatinný / dvojitý typ údajov
Ak chcete uložiť desatinné miesto, budete musieť deklarovať premennú, ktorá umožňuje desatinné miesta. Môžete použiť 3 typy údajov - jednoduchá, dvojitá alebo menová.
1 | Dim sngCena ako single |
1 | Dim dblCena ako dvojnásobok |
1 | Dim curPrice ako mena |
Dátový typ Single zaokrúhli desatinnú čiarku mierne odlišne na dvojitý a menový dátový typ, preto je vhodnejšie použiť dvojitú hodnotu na jednu. Dvojka môže mať až 12 desatinných miest, zatiaľ čo mena a singel môžu mať až 4 desatinné miesta.
Ďalšie informácie o týchto typoch údajov nájdete tu.
Deklarujte premennú Int na modulovej alebo globálnej úrovni
V predchádzajúcich príkladoch sme deklarovali premennú Int v rámci procedúry. Premenné deklarované pomocou postupu je možné použiť iba v rámci tohto postupu.
Namiesto toho môžete deklarovať premenné Int na modulovej alebo globálnej úrovni.
Úroveň modulu
Úroveň modulu premenné sú deklarované v hornej časti modulov kódu pomocou Dim vyhlásenie.
Tieto premenné je možné použiť s akýmkoľvek postupom v tomto module kódu.
Globálna úroveň
Globálna úroveň premenné sú tiež deklarované v hornej časti modulov kódu. Avšak namiesto použitia Dim vyhlásenie, použite príponu Verejné vyhlásenie, ktoré naznačuje, že celočíselná premenná je k dispozícii na použitie vo vašom projekte VBA.
1 | Verejná IntA ako celé číslo |
Ak by ste celé číslo deklarovali na úrovni modulu a potom sa ho pokúsili použiť v inom module, vyskytla by sa chyba.
Ak by ste však na deklaráciu celého čísla použili kľúčové slovo Public, chyba by sa nevyskytla a postup by prebehol perfektne.
Previesť reťazec na int
Môže existovať inštancia alebo prípady, kedy budete musieť previesť číslo uložené ako reťazec na celočíselnú hodnotu.
V bezprostrednom okne si všimnete, že celočíselná hodnota ide doprava, čo znamená číslo, zatiaľ čo hodnota reťazca smeruje doľava - text.
Previesť Int na reťazec
Naopak, celočíselnú hodnotu môžete previesť na reťazec.
Ďalšie informácie o týchto typoch údajov nájdete tu.
Formát celé číslo uložené ako reťazec
<>