Форум по VBA, Excel и Word

VBA, Excel => VBA, макросы в Excel => Тема начата: Посетитель от 09 декабря 2021, 13:54

Название: VBA Макросы. Компилятор сообщает, что не объявлены переменные.
Отправлено: Посетитель от 09 декабря 2021, 13:54
Для упрощения читаемости кода решил записать сложный кусок кода в отдельную процедуру, чтобы вызывать ее из основной процедуры. До создания отдельной процедуры всё работало.
Сейчас компилятор сообщает, что не объявлены переменные в новой процедуре: Compile error: Variable not defined.
Я действительно использую в новой процедуре много переменных, которые все объявлены в главной процедуре и тоже там используются.
То есть надо, чтобы новая процедура использовала ранее объявленные в главной процедуре переменные.
Название: Re: VBA Макросы. Компилятор сообщает, что не объявлены переменные.
Отправлено: Администратор от 09 декабря 2021, 14:45
Чтобы переменная была видна для всех процедур одного модуля, нужно создать переменную в самом верху модуля со словом Private.
Если нужно, чтобы переменная была видна всем модулям проекта, нужно использовать слово Public.
Название: Re: VBA Макросы. Компилятор сообщает, что не объявлены переменные.
Отправлено: Посетитель от 09 декабря 2021, 14:48
Спасибо