Я пытаюсь иметь несколько Worksheet_Change
на одном листе, однако у меня возникают проблемы с их реализацией.Несколько Worksheet_Change Issue
Я пробовал:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$6" Then
Select Case Target.Value
Case "Yes"
Range("DataYes").EntireRow.Hidden = True
Range("DataNo").EntireRow.Hidden = False
Case "No"
Range("DataYes").EntireRow.Hidden = False
Range("DataNo").EntireRow.Hidden = True
Case ""
Range("DataYes").EntireRow.Hidden = True
Range("DataNo").EntireRow.Hidden = True
End Select
End If
If Target.Address = "$Q$6" Then
Select Case Target.Value
Case "TRUE"
Range("DataNo").EntireRow.Hidden = False
Range("CrComments").EntireRow.Hidden = False
Case "FALSE"
Range("CrComments").EntireRow.Hidden = True
End Select
End If
End Sub
В этом случае, только первый кусок кода работает. Второе - нет. Нет сообщений об ошибках.
Я также попытался:
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address
Case "$B$6"
If Range("B6").Value = "Yes" Then
Range("DataYes").EntireRow.Hidden = True
Range("DataNo").EntireRow.Hidden = False
ElseIf Range("B6").Value = "No" Then
Range("DataYes").EntireRow.Hidden = False
Range("DataNo").EntireRow.Hidden = True
ElseIf Range("B6").Value = "" Then
Range("DataYes").EntireRow.Hidden = True
Range("DataNo").EntireRow.Hidden = True
End If
End If
Case "$Q$6"
If Range("Q6").Value = "TRUE" Then
Range("CrComments").EntireRow.Hidden = False
ElseIf Range("Q6").Value = "FALSE" Then
Range("CrComments").EntireRow.Hidden = True
End If
End If
End Select
End Sub
В этом коде я получил ошибку End if without block if
за последний End If
первого случая.
Удаление ошибочных Концевые IFs еще не делает второй кусок кода работы
Спасибо, я не получаю никаких ошибок, однако раздел 'Q6' все еще не работает. Раздел 'Q6' - это ячейка, которая изменена на« TRUE »или« FALSE »в зависимости от выбора флажка. Если это правда, строка должна быть не указана. Раздел 'B6' работает,' Q6' - нет. Вот еще код. 'Вариант Явные Sub AssignRownames() Строки ("15:15"). EntireRow.Name = "DataYes" Ряды ("16:16"). EntireRow.Name = "DataNo" Ряды (" 8 : 8 "). EntireRow.Name =" CrComments " End Sub' – pufAmuf
Вы пытались использовать« Истина »и« Неверно »? – Pragmateek
Yup, я даже попробовал «True» 'False' без кавычек. – pufAmuf