Ища ответ на мой вопрос, я в растерянности и мне нужна помощь. У меня есть два разных события изменения рабочего листа в одном и том же рабочем листе, которые будут вызваны изменением состояния двух совершенно разных ячеек (одно пустое или не пустое, чтобы вызвать событие диапазона разблокировки, а второе - изменение значения, которое вызовет серию скрыть события ячеек, основываясь на значении, к которому оно было изменено (второе работает само по себе, но первое - нет.) Я явно что-то пропустил или мой код - фарш, и мне нужна помощь
вот мой код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) = "D5" Then
Select Case Target.Value
Case Is = "": Range("A6:D115").Locked = True
Case IsNot = Empty: Range("C6:D6,A16:D16,C19:D22,D25:D25,D41:D57,B58:D58,C63:D63,C65:D73,C75:D78,C80:D84,D88:D88,A93:D98,D101:D103,B113:B114,D113:D113").Locked = False
End Select
End If
If Target.Address(False, False) = "D25" Then
Select Case Target.Value
Case "Select as appropriate": Range("40:85").EntireRow.Hidden = False
Case "USA - Breen Road": Range("40:85").EntireRow.Hidden = False
Range("45:45,47:47,53:57,77:78").EntireRow.Hidden = True
Case "USA - Conroe": Range("40:85").EntireRow.Hidden = False
Range("40:52,77:78,80:80,85:85").EntireRow.Hidden = True
Case "USA - Lafayette": Range("40:85").EntireRow.Hidden = False
Range("43:43,45:47,49:49,53:57,61:83").EntireRow.Hidden = True
Case "Europe - Aberdeen": Range("40:85").EntireRow.Hidden = False
Range("40:49,53:57,77:78,80:80").EntireRow.Hidden = True
Case "Europe - Gateshead": Range("40:85").EntireRow.Hidden = False
Range("53:57").EntireRow.Hidden = True
Case "Middle East - Dubai": Range("40:85").EntireRow.Hidden = False
Range("43:43,46:47,50:57").EntireRow.Hidden = True
Case "Middle East - Saudi Arabia": Range("40:85").EntireRow.Hidden = False
Range("43:43,45:47,50:53").EntireRow.Hidden = True
Case "Middle East - All": Range("40:85").EntireRow.Hidden = False
Range("43:43,46:47,50:57").EntireRow.Hidden = True
Case "Far East - Singapore - Loyang": Range("40:85").EntireRow.Hidden = False
Range("41:41,44:57,77:78,80:80").EntireRow.Hidden = True
Case "Far East - Singapore - Tuas": Range("40:85").EntireRow.Hidden = False
Range("40:49,53:57,77:78,80:82").EntireRow.Hidden = True
Case "Far East - Singapore - All": Range("40:85").EntireRow.Hidden = False
Range("41:41,44:49,53:57,77:78,80:80").EntireRow.Hidden = True
Case "Far East - Perth - Australia": Range("40:85").EntireRow.Hidden = False
Range("41:57,63:63,67:67,72:72,74:83").EntireRow.Hidden = True
End Select
End If
End Sub
У меня все ячейки заблокированы, а лист защищен - для предотвращения ячеек я не хочу, чтобы в них были данные.
Любая помощь будет принята с благодарностью.