Datový typ VBA Int / Integer (proměnná dim)

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

<>

wave wave wave wave wave