Исходя из моего предыдущего вопроса.
Требование клиента - установить флажки в отчете, чтобы отключить строки информации на другом листе. Строки определены как именованные диапазоны, отформатированные P_XXXXXX. XXXXXX - это уникальный идентификатор, который также является полем в строке, поэтому я могу легко генерировать имена диапазонов на лету.
У меня проблема:
- После нажатия на элементы и закрытия формы Excel спрашивает, хотим ли мы сохранить. Это нежелательно.
Мне нужно как-то зарегистрировать событие изменения, происходящее в моих сгенерированных флажках. Так что, если одно или несколько изменений я могу просмотреть и скрыть / показать соответствующие диапазоны.
Мой код для добавления флажков выглядит так:
' For each row...
' check box in column 17(=Q).
Dim lCenter As Long
lCenter = rngCurrent.Width / 4 ' not actual centre but close enough
With ActiveSheet.CheckBoxes.Add(rngCurrent.Left + lCenter, rngCurrent.Top - 2, rngCurrent.Width, rngCurrent.Height)
.Interior.ColorIndex = xlNone
.Caption = ""
End With
Так как связать изменение в флажке с подчиненной функцией / функцией?