Уважаемые гуру, помогите оптимизировать код. Имеется:
условий подобных
If Not Intersect(Target, Range("B89" ) ) Is Nothing Then
If Target.Value = 0 Then
Rows("89:127" ) .EntireRow.Hidden = True
Else
Rows("89:127" ) .EntireRow.Hidden = False
End If
End If
у меня не 2, а 8 и, я так понимаю, что данный вариант кода очень далеко не оптимален, ведь их могло бы быть и 80 или еще больше. Как оптимизировать данную часть кода? И еще, как в подобном коде (задача там полностью аналогична, при заполнении ячеек должны отображаться/скрываться определенные строки), на этой же странице указать "проверочную" ячейку не как:
If Not Intersect(Target, Range("B128" ) ) Is Nothing Then
а на ДРУГОМ листе данного файла . Заранее спасибо всем откликнувшимся
Код |
---|
Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False Rows("89:400" ) .EntireRow.Hidden = True If Not Intersect(Target, Range("B89" ) ) Is Nothing Then If Target.Value = 0 Then Rows("89:127" ) .EntireRow.Hidden = True Else Rows("89:127" ) .EntireRow.Hidden = False End If End If If Not Intersect(Target, Range("B128" ) ) Is Nothing Then If Target.Value = 0 Then Rows("89:166" ) .EntireRow.Hidden = True Else Rows("89:166" ) .EntireRow.Hidden = False End If End If End If Application.ScreenUpdating = True End Sub |
условий подобных
If Not Intersect(Target, Range("B89" ) ) Is Nothing Then
If Target.Value = 0 Then
Rows("89:127" ) .EntireRow.Hidden = True
Else
Rows("89:127" ) .EntireRow.Hidden = False
End If
End If
у меня не 2, а 8 и, я так понимаю, что данный вариант кода очень далеко не оптимален, ведь их могло бы быть и 80 или еще больше. Как оптимизировать данную часть кода? И еще, как в подобном коде (задача там полностью аналогична, при заполнении ячеек должны отображаться/скрываться определенные строки), на этой же странице указать "проверочную" ячейку не как:
If Not Intersect(Target, Range("B128" ) ) Is Nothing Then
а на ДРУГОМ листе данного файла . Заранее спасибо всем откликнувшимся