Typ proměnné typu Integer (Int)
VBA Int datový typ se používá k ukládání celých čísel (bez desetinných hodnot). Jak však uvidíme níže, celočíselné hodnoty musí spadat do rozmezí –32768 až 32768.
Chcete -li deklarovat proměnnou Int, použijte příkaz Dim (zkratka pro Dimension):
1 | Dim intA jako Integer |
Potom k přiřazení hodnoty proměnné jednoduše použijte znaménko rovnosti:
1 | intA = 30 000 |
Uvedení do postupu vypadá takto:
12345678 | Dílčí příklad ()'deklarujte celé číslo.'Dim intA jako Integer'naplňte celé číslointA = 30 000'zobrazit pole se zprávouMsgBox intAEnd Sub |
Pokud spustíte výše uvedený kód, zobrazí se následující okno se zprávou.
Dlouhý variabilní typ
Jak bylo uvedeno výše, proměnné Int mohou ukládat pouze hodnoty mezi –32768 až 32768. Pokud se pokusíte přiřadit hodnotu mimo tento rozsah proměnné Int, zobrazí se chyba:
Když kliknete na de-bug, kód se na ‘Naplňte celočíselný řádek jako celé číslo nemůže uložit číslo až 50 000.
Místo toho můžete deklarovat proměnnou pomocí Dlouho datový typ:
1 | Dim longA as Long |
Dlouhé proměnné mohou ukládat velmi dlouhé datové typy (-2 147 483 648 až 2 147 483 648).
<>
Proč byste místo dlouhých proměnných používali proměnné Int?
Dlouhé proměnné využívají více paměti. Před lety byla paměť při psaní kódu velkým problémem, ale nyní je výpočetní technologie mnohem vylepšená a je pochybné, že při psaní kódu VBA narazíte na problémy s pamětí způsobené dlouhými proměnnými.
Doporučujeme vždy používat dlouhé proměnné místo proměnných Int. V tomto kurzu budeme pokračovat diskutováním proměnných Int, ale mějte na paměti, že místo toho můžete použít typ proměnné Long.
Desetinné hodnoty a int datové typy
Proměnné int nemohou ukládat desetinné hodnoty. Pokud předáte desítkové číslo celé číslo, desetinné číslo bude zaokrouhleno, aby se odstranilo desetinné číslo.
Pokud byste tedy spustili níže uvedený postup:
12345678 | Sub IntxxpleB ()'deklarujte celé číslo.'Dim intA jako Integer'naplňte celé číslointA = 3524,12'zobrazit pole se zprávouMsgBox intAEnd Sub |
Získáte následující výsledek (zaokrouhlení dolů):
Tento kód však níže:
12345678 | Pod Int. Příklad B ()'deklarujte celé číslo.'Dim intA jako Integer'naplňte celé číslointA = 3524,52'zobrazit pole se zprávouMsgBox intAEnd Sub |
Vrátí následující pole se zprávou (zaokrouhleno nahoru):
Desetinný / dvojitý datový typ
Pokud chcete uložit desetinné místo, budete muset deklarovat proměnnou, která umožňuje desetinná místa. Můžete použít 3 datové typy - Single, Double nebo Currency.
1 | Dim sngCena jako Single |
1 | Dim dblCena jako dvojnásobek |
1 | Dim curPrice jako měna |
Datový typ Single zaokrouhlí desetinnou čárku mírně odlišně na datový typ double a currency, takže je vhodnější použít double to single pro přesnost. Dvojka může mít až 12 desetinných míst, zatímco měna a singl mohou mít až 4 desetinná místa.
Další informace o těchto datových typech naleznete zde.
Deklarujte proměnnou Int na úrovni modulu nebo na globální úrovni
V předchozích příkladech jsme deklarovali proměnnou Int v rámci procedury. Proměnné deklarované pomocí procedury lze použít pouze v rámci této procedury.
Místo toho můžete deklarovat proměnné Int na úrovni modulu nebo na globální úrovni.
Úroveň modulu
Úroveň modulu proměnné jsou deklarovány v horní části modulů kódu pomocí Ztlumit tvrzení.
Tyto proměnné lze použít s jakoukoli procedurou v tomto modulu kódu.
Globální úroveň
Globální úroveň proměnné jsou také deklarovány v horní části modulů kódu. Místo použití Ztlumit prohlášení, použijte Veřejnost prohlášení, které naznačuje, že celočíselná proměnná je k dispozici pro použití v celém vašem projektu VBA.
1 | Public IntA jako Integer |
Pokud byste deklarovali celé číslo na úrovni modulu a poté se pokusili použít jej v jiném modulu, došlo by k chybě.
Pokud byste k deklaraci celého čísla použili klíčové slovo Public, k chybě by nedošlo a postup by proběhl perfektně.
Převést řetězec na Int
Může existovat instance nebo instance, kdy budete muset převést číslo uložené jako řetězec na celočíselnou hodnotu.
V bezprostředním okně si všimnete, že celočíselná hodnota jde doprava označující číslo, zatímco hodnota řetězce jde doleva - indikující text.
Převést Int na řetězec
Naopak můžete převést celočíselnou hodnotu na řetězec.
Další informace o těchto typech dat naleznete zde.
Formátovat celé číslo uložené jako řetězec
<>