Вам не нужно устанавливать sourcesheet
в качестве ActiveSheet
в этом случае. Вы набрали Да или Нет в ячейку C4
или E4
на Activesheet
, чтобы запустить код.
Этот код будет скрывать столбец Peer или Apple , если вы введете No
, и будет отображаться, если вы введете что-нибудь еще. Добавьте проверку данных в ячейки, чтобы разрешить только Да или Нет .
Нет необходимости выделять ячейку, чтобы скрыть столбец, просто ссылайтесь на нее.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$4" Then
Range("Peer").EntireColumn.Hidden = (Target.Value = "No")
'To hide column on another sheet:
ThisWorkbook.Worksheets("Sheet2").Range("Peer").EntireColumn.Hidden = (Target.Value = "No")
ElseIf Target.Address - "$E$4" Then
Range("Apple").EntireColumn.Hidden = (Target.Value = "No")
End If
End Sub
Вы уверены, что это Пэр , а не Груша ?
Вы имеете в виду фрукт, чтобы присмотреться к чему-то, или человек того же возраста или социального положения? :)