Страницы: 1
RSS
Глобальные переменные из обычного модуля не видны в форме
 
Добрый день, опыта в VBA  совсем  немного в UserForm и вовсе первый раз и забуксовал крепко, помогите, ощущение, что ошибка совсем "двоешницкая"

Нужно передать значения  булевых переменных (наличие в таблице столбцов "Вариант_1", "Вариант_2", "Вариант_3", "Вариант_4" в UserForm
Чтобы выставить на соответствующих четырех ToggleButton значения Enabled = True/False в зависимости от наличия этого столбца в таблице
Декларировал в обычном модуле перед определяющей их процедурой...но их значения в упор не видит  код формы.
Помогите, пожалуйста.Особенно прошу объяснить в чем ошибка, а то так и буду буксовать :))))
Спасибо
 
Файл не смотрел, но если по теме - объявляйте глобальные переменные в стандартном модуле в области деклараций (перед самым первым макросом) - будут доступны в любом модуле. В том числе и в модуле формы.
 
Юрий М,, вроде все так и сделал, сразу после Option Explicit :(
 
kashalot75 вместо Dim напишите Public
 
Доброе время суток.
Цитата
skais675 написал:
вместо Dim напишите Public
Во, во. Рекомендуется всегда для переменных/констант уровня модуля/класса явно прописывать видимость Public/Private (Friend для класса), что бы не мучаться вопросом - а какая будет видимость для Dim в данном случае? :)
 
Dim Вариант_1 As Boolean объявление глобальной переменной уровня модуля. Видна всем процедурам модуля.
Public Вариант_2 As Boolean объявление глобальной переменной уровня проекта. Видна всем процедурам проекта.
 
https://www.excel-vba.ru/chto-umeet-excel/chto-takoe-peremennaya-i-kak-pravilno-eyo-obyavit/

ЧТО ТАКОЕ ПЕРЕМЕННАЯ И КАК ПРАВИЛЬНО ЕЁ ОБЪЯВИТЬ?
Изменено: Borrusale - 13.09.2020 18:07:36
Быстрее молнии, быстрее ветра, быстрее калькулятора
 
Цитата
RAN написал:
Dim Вариант_1 As Boolean объявление глобальной переменной уровня модуля. Видна всем процедурам модуля.
Вывод - это эквивалент
Код
Private Вариант_1 As Boolean
 
Цитата
kashalot75 написал:
Пока до UserForm ход не дошел не надобилось писать код в разных модулях.
Оно и сейчас в вашем файле без нать.
 
Цитата
kashalot75 написал:
Передача глобальных переменных  в UserForm
ГЛОБАЛЬНІЕ ПЕРЕМЕННІЕ не нужно передавать НИКУДА
ГЛОБАЛЬНІЕ ПЕРЕМЕННІЕ видны ВЕЗДЕ ( в каждой строке кода)
Изменено: Ігор Гончаренко - 13.09.2020 23:58:53
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Страницы: 1
Наверх