Найти в Дзене
VBA Excel с нуля

VBA Excel № 38. Статические переменные в VBA.

При написании программ на VBA иногда возникает необходимость сохранять значение переменной между вызовами подпрограммы или функции. Для этой цели можно использовать статические переменные. Статическая переменная - это переменная, которая сохраняет свое значение между вызовами подпрограммы или функции. В отличие от обычных локальных переменных, которые создаются и уничтожаются каждый раз при вызове подпрограммы или функции, статическая переменная сохраняет свое значение и состояние даже после выхода из подпрограммы или функции. Для объявления статической переменной в VBA используется ключевое слово "Static" перед объявлением переменной. Вот пример: В этом примере мы объявляем статическую переменную "счёт" типа "Integer" в подпрограмме "Counter". При каждом вызове подпрограммы "Counter" значение переменной "счёт" увеличивается на 1 и выводится в сообщении. Надо понимать, что при первом вызове подпрограммы значение статической переменной инициализируется нулем. Последующие вызовы подпрогр

При написании программ на VBA иногда возникает необходимость сохранять значение переменной между вызовами подпрограммы или функции. Для этой цели можно использовать статические переменные.

Статическая переменная - это переменная, которая сохраняет свое значение между вызовами подпрограммы или функции. В отличие от обычных локальных переменных, которые создаются и уничтожаются каждый раз при вызове подпрограммы или функции, статическая переменная сохраняет свое значение и состояние даже после выхода из подпрограммы или функции.

Для объявления статической переменной в VBA используется ключевое слово "Static" перед объявлением переменной. Вот пример:

Скриншот с моего ноутбука
Скриншот с моего ноутбука

В этом примере мы объявляем статическую переменную "счёт" типа "Integer" в подпрограмме "Counter". При каждом вызове подпрограммы "Counter" значение переменной "счёт" увеличивается на 1 и выводится в сообщении.

Надо понимать, что при первом вызове подпрограммы значение статической переменной инициализируется нулем. Последующие вызовы подпрограммы будут использовать сохраненное значение переменной, а не создавать новую переменную. Попробуйте.

Ещё пример использования статической переменной для отслеживания вызовов подпрограммы:

Скриншот с моего ноутбука
Скриншот с моего ноутбука

В этом примере мы объявляем статическую переменную "КоличествоВызовов" типа "Integer" в подпрограмме "ОтслеживаниеВызовов". При каждом вызове подпрограммы значение переменной "КоличествоВызовов" увеличивается на 1 и выводится в сообщении.

Таким образом, мы можем отслеживать количество вызовов подпрограммы "КоличествоВызовов" с помощью статической переменной "ОтслеживаниеВызовов".

И если вы вызвали программу 3 раза, то на третий раз получите такое сообщение:

Скриншот с моего ноутбука
Скриншот с моего ноутбука

Использование статических переменных может быть полезным, когда требуется сохранять и использовать значение переменной между вызовами подпрограммы или функции. Они позволяют создавать подпрограммы, которые сохраняют состояние и могут использовать эту информацию при последующих вызовах.

В следующей статье рассмотрим вопрос об использовании и объявлении Констант в VBA