Скрыть лист, если другой скрыт - PullRequest
0 голосов
/ 08 апреля 2020

Я не уверен, что мне здесь чего-то не хватает. Но я пытаюсь скрыть Sheet 1, если имя какого-либо листа содержит Hello . наоборот. Есть идеи, что пошло не так с моим кодом? Спасибо!

Private Sub HideIrrelevantSheets()

    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
    If ws.Name Like "Hello*" Then

        Worksheets("Sheet 1").Visible = xlSheetHidden

    Else
        Worksheets("Sheet 1").Visible = xlSheetVisible

    End If
    Next ws
End Sub

1 Ответ

1 голос
/ 08 апреля 2020

То, что я пытаюсь сделать, это скрыть лист 1, если какие-либо листы с именем Hello не скрыты; и наоборот.

Затем необходимо проверить, виден ли рабочий лист или нет, кроме проверки имени, например, как показано ниже:

Private Sub HideIrrelevantSheets()

    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        If ws.Name Like "Hello*" Then
            If ws.Visible = xlSheetVisible Then
                Thisworkbook.Worksheets("Sheet 1").Visible = xlSheetHidden
            Else
                Thisworkbook.Worksheets("Sheet 1").Visible = xlSheetVisible
            End If
            Exit Sub ' no need to keep looping, or maybe use Exit For
        End If
    Next ws

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