Worksheet_Change Скрыть отображение столбцов на основе целей независимо - PullRequest
0 голосов
/ 27 апреля 2018

Я хотел бы скрыть и отобразить столбцы на основе Да или Нет в двух разных целях.

Мой код:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim sourceSheet As Worksheet
Set sourceSheet = ActiveSheet
If Target.Column = 3 And Target.Row = 4 And Target.Value = "Yes" Then
    Application.Goto Reference:="Peer"
    Selection.EntireColumn.Hidden = False
    Call sourceSheet.Activate
Else
 Application.Goto Reference:="Peer"
    Selection.EntireColumn.Hidden = True
    Call sourceSheet.Activate
End If

If Target.Column = 5 And Target.Row = 4 And Target.Value = "Yes" Then
    Application.Goto Reference:="Apple"
    Selection.EntireColumn.Hidden = False
    Call sourceSheet.Activate
Else
 Application.Goto Reference:="Apple"
    Selection.EntireColumn.Hidden = True
    Call sourceSheet.Activate
End If

End Sub

Как скрыть столбцы независимо друг от друга? Если я скажу «нет» для яблок или пиров, то обе строки будут скрыты, и если я скажу «да» для яблок, строка для пиров будет скрыта, если она была видна раньше.

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Вам не нужно устанавливать 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  

Вы уверены, что это Пэр , а не Груша ?
Вы имеете в виду фрукт, чтобы присмотреться к чему-то, или человек того же возраста или социального положения? :)

0 голосов
/ 27 апреля 2018

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

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