Подскажите как скорректировать макрос, чтобы он запускался только при действиях в ячейках. G49,55,62,75,84,108. Сейчас происходит обновление при любых действиях в листе.
Скрытый текст
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
With Sheets("Калькуляция")
.Rows("50:54").EntireRow.Hidden = False
Select Case Range("G49")
Case "Нет"
.Range("50:54").EntireRow.Hidden = True
Case ""
.Range("50:54").EntireRow.Hidden = True
End Select
.Rows("56:61").EntireRow.Hidden = False
Select Case Range("G55")
Case "Нет"
.Range("56:61").EntireRow.Hidden = True
Case ""
.Range("56:61").EntireRow.Hidden = True
End Select
.Rows("63:74").EntireRow.Hidden = False
Select Case Range("G62")
Case "Нет"
.Range("63:74").EntireRow.Hidden = True
Case ""
.Range("63:74").EntireRow.Hidden = True
End Select
.Rows("76:83").EntireRow.Hidden = False
Select Case Range("G75")
Case "Нет"
.Range("76:83").EntireRow.Hidden = True
Case ""
.Range("76:83").EntireRow.Hidden = True
End Select
.Rows("85:107").EntireRow.Hidden = False
Select Case Range("G84")
Case "Нет"
.Range("85:107").EntireRow.Hidden = True
Case ""
.Range("85:107").EntireRow.Hidden = True
End Select
.Rows("109:116").EntireRow.Hidden = False
Select Case Range("G108")
Case "Нет"
.Range("109:116").EntireRow.Hidden = True
Case ""
.Range("109:116").EntireRow.Hidden = True
End Select
End With
End Sub
G49 - понятно, а 55, 62 и далее это что за ячейки такие? возможно речь идет о ячейках столбца G? тогда несколько странно выглядит 7584 это G75 и G84 или реально G7584?
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range(G49, G55,G62,G75,G84,G108), Target) is Nothing then Exit Sub
' изменение произошло как минимум в одной из перечисленных ячеек
' Пишите что теперь с этим делать)
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!