Страницы: 1
RSS
Снять галочки с чекбоксов
 
Имеется ряд чексбоксов. При проставлении галочки в чекбоксе в соседней ячейке происходят изменения. В примере - слово "привет" при проставлении галочки, при ее удалении - "пока".

Пример с условным форматированием

Пример из вложенного файла.

Необходимо снять все галочки одновременно во всех чекбоксах. Перебором это сделать просто, но при большом количестве чекбоксов увеличивается время на выполнение изменений.

Снять же все галочки одновременно не получается, т.к. при снятии запускаются процедуры каждого из чекбоксов. Подкажите, как можно и можно ли решить эту задачу.
 
В общем модуле
Код
Dim bFlag As Boolean

В процедуре
Код
Private Sub CommandButton1_Click()
    ' ///////////////   
    bFlag = True
    ' ///////////////
    bFlag = False
End Sub

В событии каждой птички прописать условие флага.
Код
If bFlag = False Then Call check_boxes

Но вариант топорный. Ищите на форуме темы с  заменой флажка-объекта на "флажок" в ячейке - запись символа по событию выделения ячейки.
 
Дешево и сердито. Правда, флажки нужны другие.
Код
Sub check_boxes2()
    ActiveSheet.CheckBoxes = False
End Sub
 
Спасибо за подсказки.

Задача решена заменой флажка-объекта на "флажок" в ячейке по событию выделения ячейки от vikttur.
Очень просто, быстро и нет этой дурацкой громоздкости с чекбоксами.
 
Цитата
НСС написал: при большом количестве чекбоксов
Можно вообще отказаться и от флажков и от чекбоксов.
См. в файле вариант с Псевдочекбоксами
Согласие есть продукт при полном непротивлении сторон
 
Sanja, :)
Цитата
НСС написал: Задача решена заменой флажка-объекта на "флажок" в ячейке по событию выделения ячейки
Страницы: 1
Наверх