Statická proměnná VBA si zachovává svoji hodnotu, i když procedura končí.
Deklarace statické proměnné
Statickou proměnnou deklarujete pomocí klíčového slova Static, jak je uvedeno níže:
123456789 | Sub DeclaringAStaticVariable ()Static myVariable As IntegerMsgBox myVariablemyVariable = myVariable + 2Rozsah („A1“). Hodnota = myVariableEnd Sub |
Při prvním stisknutí klávesy F5 se zobrazí pole se zprávou s počáteční hodnotou myVariable, která je 0. Do buňky A1 se umístí hodnota 2.
Pokud ihned poté znovu stisknete klávesu F5, zobrazí se následující pole se zprávou zobrazující hodnotu myVariable, která je 2, a hodnotu 4, umístěnou na váš list v buňce A1.
Jak vidíte, proměnná si zachovává svoji hodnotu, i když dílčí procedura končí, pokud byste k deklaraci proměnné použili klíčové slovo Dim namísto klíčového slova Static, okno se zprávou by vždy zobrazovalo hodnotu 0. Také výsledek v buňce A1, bude 2, pokaždé, když kliknete na F5. Protože proměnná nezachová svoji hodnotu, jakmile skončí dílčí procedura.