Галочка с макросом

0

пожалуйста, как сделать так, чтобы галочка в Excel заставляла работать "2 макроса"?

Мне нужно, когда проверено, затем скрыть несколько строк, а когда не отмечено, то показать его. Как я могу это сделать?

У меня есть этот макрос:

Sub bodnariucova_jednotlivci()
    Columns("U:EW").Hidden = True
End Sub

флажок

РЕДАКТИРОВАТЬ: я редактировал это так

Sub bodnariucova_jednotlivci()
    Dim cBox As CheckBox

    Set cBox = ActiveSheet.CheckBoxes(LName)

    If cBox.Value > 0 Then
    Columns("U:EZ").Hidden = True

    Else
      Columns("U:EZ").Hidden = False
    End If
End Sub

Но когда я запускаю его, я получаю ошибку времени выполнения «1004». Не удается получить свойства CheckBoxes класса Worksheet (что-то подобное, только на моем языке).

Роман Жидык
источник

Ответы:

0

Вам не нужно два макроса, вы можете сделать это в одном. Но убедитесь, что вы используете CheckBox из панели инструментов ActiveX.

Изменить: Вставьте новый флажок, щелкните его правой кнопкой мыши и выберите «Показать код» (или аналогичный на вашем языке). Новый флажок получает имя как, CheckBox1и показанный макрос назван поэтому CheckBox1_Click().

Private Sub CheckBox1_Click()
   If CheckBox1.Value = True then
       Columns("U:EW").Hidden = True
   Else 
       Columns("U:EW").Hidden = False
   End If
End Sub

И с некоторой логической логикой вы можете упростить этот макрос:

Private Sub CheckBox1_Click()
    Columns("U:EW").Hidden = CheckBox1.Value
End Sub
IQV
источник
Спасибо, но когда я нажимаю на нее, ничего не происходит (?).
Роман Жидык,
Да, я сделал и попробовал оба варианта.
Роман Жидык
Отредактировал мой ответ со всеми шагами, которые я сделал.
IQV
Да это оно. С этим CheckBox1 все заработало. Может быть, я должен был переименовать этот флажок, а также имя в коде?
Роман Жидык,
Кажется, что есть разница между CheckBox панели инструментов ActiveX и панели элементов Contol. Мне не удалось заставить его работать с этим другим флажком.
IQV