У цьому підручнику ми розглянемо глобальні змінні. Змінна у VBA може мати різну область застосування. Область дії змінної залежить від її позиції в коді та способу її оголошення. Область застосування змінної вказує на її видимість та місце її використання.
Змінна на рівні процедури
Ці змінні можна використовувати лише в підпроцедурі або функції, де вони оголошені. Ви повинні оголосити змінну на рівні процедури, використовуючи ключове слово Dim. Крім того, ви повинні розмістити його в субпроцедурі або функції, що представляє інтерес. Те, як ви оголошуєте змінну на рівні процедури, показано у коді нижче:
1234567 | Sub DeclaringAProcedureLevelVariable ()Dim someNumber As IntegersomeNumber = 5MsgBox someNumberEnd Sub |
Результат такий:
Цю змінну можна використовувати лише в підпроцедурі під назвою DeclaringAProcedureLevelVariable (). Оскільки це в цій підпроцедурі, і ми використовували ключове слово Dim. Якщо ви викликаєте його з іншої підпроцедури, ви отримаєте таку помилку:
Змінна рівня модуля
Ви можете використовувати змінну рівня модуля в будь -якій з підпроцедур або функцій всередині одного модуля. Вам потрібно розмістити оголошення змінної у верхній частині модуля в розділі «Декларації» під оператором «Очевидні параметри» та використати ключове слово Dim:
Коли ми запускаємо другу підпроцедуру замість повідомлення про помилку, ми отримуємо такий результат у клітинці A1 книги:
Глобальна змінна рівня
Ви можете використовувати глобальну змінну у своїх модулях, функціях, підпроцедурах та класах. Ви оголошуєте глобальну змінну в розділі "Декларації" під оператором "Очевидні параметри" та за допомогою ключового слова "глобально". Спосіб оголошення глобальної змінної рівня показаний нижче. Обидві підпроцедури в модулі 1 можуть використовувати цю змінну.
Оскільки ця змінна є змінною глобального рівня, ви також можете використовувати її у Module2:
Коли ви запускаєте цей код з модуля 2, ви отримуєте такий результат: