В этом уроке мы рассмотрим глобальные переменные. Переменная в VBA может иметь другую область видимости. Область видимости переменной зависит от ее положения в коде и способа объявления. Область видимости переменной указывает на ее видимость и где ее можно использовать.
Переменная уровня процедуры
Эти переменные могут использоваться только в той подпроцедуре или функции, в которой они объявлены. Вы должны объявить переменную уровня процедуры с помощью ключевого слова Dim. Кроме того, вы должны поместить его в интересующую подпроцедуру или функцию. Способ объявления переменной уровня процедуры показан в приведенном ниже коде:
1234567 | Sub DeclaringAProcedureLevelVariable ()Уменьшить значение someNumber как целое числоsomeNumber = 5MsgBox someNumberКонец подписки |
Результат:
Вы можете использовать эту переменную только в подпроцедуре DeclaringAProcedureLevelVariable (). Поскольку он находится в этой подпроцедуре, и мы использовали ключевое слово Dim. Если вы вызовете его из другой подпроцедуры, вы получите следующую ошибку:
Переменная уровня модуля
Вы можете использовать переменную уровня модуля в любой из подпроцедур или функций одного и того же модуля. Вам необходимо разместить объявление переменной в верхней части модуля в разделе «Объявления» под оператором Options Explicit и использовать ключевое слово Dim:
Когда мы запускаем вторую подпроцедуру вместо сообщения об ошибке, мы получаем следующий результат в ячейке A1 книги:
Переменная глобального уровня
Вы можете использовать глобальную переменную в своих модулях, функциях, подпроцедурах и классах. Вы объявляете глобальную переменную в разделе объявлений, под оператором Options Explicit и с помощью ключевого слова Global. Ниже показано, как вы объявляете переменную глобального уровня. Обе подпроцедуры в Module1 могут использовать эту переменную.
Поскольку эта переменная является переменной глобального уровня, вы также можете использовать ее в Module2:
Когда вы запустите этот код из Module2, вы получите следующий результат: