Автор Тема: Excel VBA: Скрыть строки с помощью макроса.  (Прочитано 144 раз)

Оффлайн untablet

  • Посетитель форума
  • Сообщений: 2
Нужно создать макрос для экселя.
Есть ячейка под адресом 7, 3 и в ней существует 2 выбора «ДА» и «НЕТ».
Если выбрать ДА, то строки с 67 по 82 должны быть скрыты, если НЕТ, то соответственно ничего не должно быть скрыто.

Оффлайн Администратор

  • Administrator
  • Сообщений: 1574
Re: Excel VBA: Скрыть строки с помощью макроса.
« Ответ #1 : 13 Ноябрь 2018, 09:30 »
Макрос нужно поместить в модуль листа, на котором юзер выбирает 'ДА' / 'НЕТ'.

Макрос
Private Sub Worksheet_Change(ByVal Target As Range)

    '1. Случаи, когда макрос не запускаем.
    '1) Если изменение произошло в нескольких ячейках. В этом случае нужно писать более сложный код.
    If Target.CountLarge > 1 Then Exit Sub
    '2) Если изменение произошло не в строке 7.
    If Target.Row <> 7 Then Exit Sub
    '3) Если изменение произошло не в столбце 3.
    If Target.Column <> 3 Then Exit Sub
   
    '2. Скрытие / отображение строк.
    ' Если в ячейке 'ДА'.
    If Target.Value = "ДА" Then
        ' Скрытие строк.
        Rows("67:82").Hidden = True
    ' Если в ячейке 'НЕТ'.
    ElseIf Target.Value = "НЕТ" Then
        ' Отображение строк.
        Rows("67:82").Hidden = False
    End If
   
End Sub

Оффлайн untablet

  • Посетитель форума
  • Сообщений: 2
Re: Excel VBA: Скрыть строки с помощью макроса.
« Ответ #2 : 13 Ноябрь 2018, 09:34 »
Спасибо.