Статична змінна VBA зберігає своє значення навіть після завершення процедури.
Оголошення статичної змінної
Ви оголошуєте статичну змінну за допомогою ключового слова Static, як показано нижче:
123456789 | ПіддекларуванняAstaticVariable ()Статична myVariable як ціле числоMsgBox myVariablemyVariable = myVariable + 2Діапазон ("A1"). Значення = myVariableEnd Sub |
Коли ви вперше натискаєте F5, ви отримуєте вікно повідомлення з початковим значенням myVariable, яке дорівнює 0. Значення 2 розміщується в комірці A1.
Якщо одразу після цього знову натиснути клавішу F5, ви отримаєте наступне вікно повідомлення, яке відображає значення myVariable, яке дорівнює 2, та значення 4, розміщене на вашому робочому аркуші в комірці А1.
Як ви бачите, змінна зберігає своє значення навіть після закінчення підпроцедури, якщо ви використовували ключове слово Dim замість ключового слова Static для оголошення змінної, у вікні повідомлень завжди відображатиметься значення 0. Крім того, результат у клітинці A1, буде 2, кожного разу, коли ви натискаєте F5. Оскільки змінна не збереже свого значення після закінчення підпроцедури.