End Sub
Переменные уровня модуля
Переменную уровня модуля можно использовать в любой подпрограмме или функции того модуля, где эта переменная была определена. Чтобы сделать переменную доступной на уровне модуля, объявите её перед любыми подпрограммами и функциями, как показано в примере:
Dim Var2 As String
Sub ПеременнаяУровняМодуля()
Var2 = "Привет!"
DisplayMessage2
Sub DisplayMessage2()
MsgBox Var2
DisplayMessage2успешно используется переменная Var2, значение которой было в ПеременнаяУровняМодуля, поскольку Var2 была описана на уровне модуля и сохраняется в подпрограммах. Доступ на уровне модуля проиллюстрирован на.
Рис. 7‑2.Переменная Var2, объявленная на уровне модуля,
доступна во всем модуле Module1.
Чтобы сделать любую переменную доступной на уровне модуля, объявите ее с ключевым словом Private:
Private Var2 As String
Переменные, описанные в начале модуля, доступны в нем по умолчанию, в их определениях слово Private не обязательно.
Рассмотрим следующий случай. Пусть переменная Var3 определена в модуле Модуль1, и там же ей присвоено значение. Предположим, мы хотим получить доступ к этой переменной в подпрограмме из модуля Модуль2. Поскольку переменная Var3 доступна лишь в модуле, содержащем ее описание, чтобы использовать Var3 в других модулях, надо расширить область ее видимости, как описано в следующем разделе.