VBA Макросы. Компилятор сообщает, что не объявлены переменные.

Автор Посетитель, 09 декабря 2021, 13:54

Посетитель

Для упрощения читаемости кода решил записать сложный кусок кода в отдельную процедуру, чтобы вызывать ее из основной процедуры. До создания отдельной процедуры всё работало.
Сейчас компилятор сообщает, что не объявлены переменные в новой процедуре: Compile error: Variable not defined.
Я действительно использую в новой процедуре много переменных, которые все объявлены в главной процедуре и тоже там используются.
То есть надо, чтобы новая процедура использовала ранее объявленные в главной процедуре переменные.

Администратор

Чтобы переменная была видна для всех процедур одного модуля, нужно создать переменную в самом верху модуля со словом Private.
Если нужно, чтобы переменная была видна всем модулям проекта, нужно использовать слово Public.