Форум по VBA, Excel и Word

VBA, Excel => VBA, макросы в Excel => Тема начата: untablet от 13 ноября 2018, 09:12

Название: Excel VBA: Скрыть строки с помощью макроса.
Отправлено: untablet от 13 ноября 2018, 09:12
Нужно создать макрос для экселя.
Есть ячейка под адресом 7, 3 и в ней существует 2 выбора «ДА» и «НЕТ».
Если выбрать ДА, то строки с 67 по 82 должны быть скрыты, если НЕТ, то соответственно ничего не должно быть скрыто.
Название: Re: Excel VBA: Скрыть строки с помощью макроса.
Отправлено: Администратор от 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
[свернуть]
Название: Re: Excel VBA: Скрыть строки с помощью макроса.
Отправлено: untablet от 13 ноября 2018, 09:34
Спасибо.