Excel 如果另一张图纸未隐藏,则隐藏该图纸

Excel 如果另一张图纸未隐藏,则隐藏该图纸,excel,vba,Excel,Vba,我不确定我是否遗漏了什么。但我想做的是隐藏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 =

我不确定我是否遗漏了什么。但我想做的是隐藏
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

我想做的是,如果任何包含Hello的表名未隐藏,则隐藏表1;反之亦然

然后您需要测试它工作表是否可见,除了测试名称外,可能如下所示:

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

谢谢你,本!它对我有用:)我能够修改你的代码,并为自己重新创建其他东西。谢谢你!