Область видимости переменной в Excel VBA определяет, где эта переменная может быть использована. Вы определяете объем переменной при объявлении его.

Есть три уровня области видимости: уровень процедуры, модуль уровня и уровень общественного модуля.

Поместите командную кнопку на листе и добавьте строки следующего кода:

Variable Scope Example

  1. Поместите две процедуры (процедура является либо к югу или функции) в модуль. В редакторе Visual Basic, нажмите кнопку Вставить, модуль. Добавьте следующие строки кода:

Procedure Level Scope in Excel VBA

  1. Результат при нажатии на кнопку управления на листе (назовем две подводные лодки):

Procedure Level Scope Result

Procedure Level Scope Result

Объяснение: переменная TXT имеет уровень процедуры области действия, поскольку она объявлена ​​в процедуре (между Sub и End Sub). В результате, вы можете использовать эту переменную в SUB1. Переменная TXT не может быть использована в sub2.

  1. Если вы хотите, переменная будет доступна для всех процедур в модуле, вы говорите, вы хотите, чтобы переменная иметь объем модуля уровня.

Вы должны объявить переменную в разделе Общие объявления (в верхней части модуля). Слегка отрегулируйте код следующим образом:

Module Level Scope in Excel VBA

  1. Результат при нажатии на кнопку управления на листе:

Module Level Scope Result

Module Level Scope Result

Объяснение: переменная TXT теперь может быть использован в sub2. Модуль уровень используется взаимозаменяемо с частным уровня модуля. Это происходит потому, что по умолчанию переменные, объявленные с утверждением Dim в разделе Общие объявления находятся в области видимости как частные. Вы можете также возможности переменной как общественное. Читать дальше.

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

Public Module Level Scope in Excel VBA

Объяснение: Теперь вы можете создать новый модуль и поместите сабвуфер под названием sub3 в этот модуль. Используйте один и тот же код, как sub2. Добавить sub3 в вашу кнопке команды коды. При нажатии на кнопке управления на рабочем листе, вы получите три коробки сообщений: «Переменный может быть использованы только в этой процедуре» (см загружаемого файл Excel).