Страницы: 1
RSS
Как связать воедино выключатели формы и листа
 
Доброго дня!
Может кто-то подскажет как связать выключатель формы с выключателем листа
То есть чтобы при нажатии на аналогичный выключатель формы нажимался и выключатель на листе
Метод:
Код
ActiveWorkbook.Sheets("List").ToggleButton1.Value = True 

не срабатывает
Точнее срабатывает но уже после закрытия формы

То есть визуально выключатель листа остается на месте
и соответственно код листа не выполняется, что конечно же печально...
Изменено: Vrajadas - 09.10.2013 09:51:18
 
Цитата
ActiveWorkbook.Sheets("List").ToggleButton1.Value = True
А где у вас этот код?
У меня в коде формы
Код
Private Sub ToggleButton1_Click()
    ActiveWorkbook.Worksheets(1).ToggleButton1.Value = Me.ToggleButton1.Value
End Sub

визуально изменяет переключатель на листе, без проблем
 
к сожалению предложенный Вами метод тоже не срабатывает
опять-таки работает но уже после закрытия формы....

да проверил на чистом листе метод сработал...
не пойму  где засада....
Изменено: Vrajadas - 09.10.2013 10:19:32
 
Пример, что то вы не так делаете, или Excel...
 
спасибо все работает на чистом листе

но что-то другое мешает кнопке нажаться... какой то код видимо
у меня там просто куча кода еще выполняется... при этой операции
 
Цитата
у меня там просто куча кода еще выполняется... при этой операции
Тогда только пошаговый debug вам поможет, увы. Успехов.
 
а можете поподробнее рассказать про пошаговый?
то есть запускать по одной строчке последовательно
правильно ли я понял процесс отладки?
 
Цитата
правильно ли я понял процесс отладки
Правильно. Ставите breakpoint на Private Sub ToggleButton1_Click() в модуле формы в редакторе VBA, включаете View/Locals Window. Запускаете форму. Щёлкаете на переключателе, при прерывании в точке останова проходите пошагово, используя  F8, по коду, наблюдая за переменными и смотря попадёте ли вы на строку
ActiveWorkbook.Sheets("List" ;) .ToggleButton1.Value = True
и произойдёт ли переход в модуль листа к переключателем на нём.
Изменено: anvg - 09.10.2013 10:37:44
 
Пошаговый - по нажатию кнопки F8 из редактора.
 
Как возможный вариант. Нет ли у вас в коде формы такой строки
Application.ScreenUpdating = False
Если есть и в области обработки события нажатия переключателя обновление выключено, то вы ничего и не увидите.
 
Так вот оказывается откуда ноги растут!

Спасибо anvg!
добавил
Код
Application.ScreenUpdating = True

заработало!!!
Всем спасибо!!! А то бы еще пол дня мучался....
Изменено: Vrajadas - 09.10.2013 11:09:41
Страницы: 1
Читают тему
Наверх