пожалуйста, как сделать так, чтобы галочка в 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 (что-то подобное, только на моем языке).

1 ответ1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .