Excel VBA隐藏包含数组名称的工作表

时间:2015-10-14 16:29:59

标签: excel vba excel-vba

我想隐藏名称为"ABC", "DEF", "GHI"

的所有标签

这是我的代码:

Sub hideSheets()
Dim ws As Worksheet
invisible = Array("ABC", "DEF", "GHI")

For Each ws In ActiveWorkbook.Worksheets
    For Each nome In invisible
        If ws.Name = nome Then
            ws.Visible = False
        Else
            ws.Visible = True
        End If
    Next nome

Next ws

End Sub

没有隐藏任何工作表。

2 个答案:

答案 0 :(得分:2)

要隐藏invisible数组中的工作表,它就像这样简单:

Sheets(invisible).Visible = False

注意:这适用于隐藏。要使工作表再次可见,您必须逐张设置每个工作表;你不能像在一行中那样使用数组来隐藏它。

答案 1 :(得分:1)

取出else。它隐藏了它,但在下一个循环中,它再次取消隐藏。

Dim ws As Worksheet
invisible = Array("ABC", "DEF", "GHI")

For Each ws In ActiveWorkbook.WorkSheets

    For Each nome In invisible
        If ws.name = nome Then
            ws.Visible = False
        End If
    Next nome

Next ws