Переменная Scope в Excel VBA
Область видимости переменной в Excel VBA определяет, где эта переменная может быть использована. Вы определяете объем переменной при объявлении его.
Есть три уровня области видимости: уровень процедуры, модуль уровня и уровень общественного модуля.
Поместите командную кнопку на листе и добавьте строки следующего кода:
-
Поместите две процедуры (процедура является либо к югу или функции) в модуль. В редакторе Visual Basic, нажмите кнопку Вставить, модуль. Добавьте следующие строки кода:
-
Результат при нажатии на кнопку управления на листе (назовем две подводные лодки):
Объяснение: переменная TXT имеет уровень процедуры области действия, поскольку она объявлена в процедуре (между Sub и End Sub). В результате, вы можете использовать эту переменную в SUB1. Переменная TXT не может быть использована в sub2.
-
Если вы хотите, переменная будет доступна для всех процедур в модуле, вы говорите, вы хотите, чтобы переменная иметь объем модуля уровня.
Вы должны объявить переменную в разделе Общие объявления (в верхней части модуля). Слегка отрегулируйте код следующим образом:
-
Результат при нажатии на кнопку управления на листе:
Объяснение: переменная TXT теперь может быть использован в sub2. Модуль уровень используется взаимозаменяемо с частным уровня модуля. Это происходит потому, что по умолчанию переменные, объявленные с утверждением Dim в разделе Общие объявления находятся в области видимости как частные. Вы можете также возможности переменной как общественное. Читать дальше.
-
С помощью ключевого слова Public, переменная будет доступна для всех процедур во всех модулях в книге. Это называется областью уровня общественного модуля. Слегка отрегулируйте код следующим образом:
Объяснение: Теперь вы можете создать новый модуль и поместите сабвуфер под названием sub3 в этот модуль. Используйте один и тот же код, как sub2. Добавить sub3 в вашу кнопке команды коды. При нажатии на кнопке управления на рабочем листе, вы получите три коробки сообщений: «Переменный может быть использованы только в этой процедуре» (см загружаемого файл Excel).