Код для двух событий изменения листа, которые я объединил, не работает - PullRequest
0 голосов
/ 02 мая 2018

Ища ответ на мой вопрос, я в растерянности и мне нужна помощь. У меня есть два разных события изменения рабочего листа в одном и том же рабочем листе, которые будут вызваны изменением состояния двух совершенно разных ячеек (одно пустое или не пустое, чтобы вызвать событие диапазона разблокировки, а второе - изменение значения, которое вызовет серию скрыть события ячеек, основываясь на значении, к которому оно было изменено (второе работает само по себе, но первое - нет.) Я явно что-то пропустил или мой код - фарш, и мне нужна помощь

вот мой код

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

У меня все ячейки заблокированы, а лист защищен - для предотвращения ячеек я не хочу, чтобы в них были данные.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 02 мая 2018
Case IsNot = Empty

недопустимый синтаксис.

Изменить на

Case Is <> ""
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...