VBA VeryHidden 多个标签

VBA VeryHidden multiple tabs

我已经进行了研究,但无论出于何种原因,我都无法让这个简单的代码正常工作。简而言之,我正在尝试 xlveryhidden 5 个标签,但我收到 run-time error 1004。如果有的话,最好将 Sheet 名称更改为代码名称,以防我更改选项卡名称:


Sub VeryHiddenTabs()
    Sheets(Array("Calculations", "LY Rates", "TY Rates", "Client Details", "Census")).Visible = xlVeryHidden
End Sub

根据您提供的内容,您似乎正试图将所有 sheet 隐藏起来,您不能这样做。您必须在工作簿中至少有一个 VISIBLE sheet。

此外,要使用 VBA 使 sheet 非常隐蔽而不使用 sheet 名称,您应该使用 sheet 索引或 sheets的代号。无法使用界面更改工作表代码名称,因此代码可以使用任何 sheet 名称。要更改 sheet 的代码名称,请转到 VBE (ALT + F11),双击您想要的 sheet 并更改名称,这是属性中的第一项 window,如果您没有看到属性 window,请单击 F4。假设您将 sheet 的代号更改为 mySht1 那么您可以:

mySht1.Visible = xlVeryHidden

如果您使用 sheet 的索引来更改可见性,您可以这样做:

ThisWorkbook.Sheets(1).visible=xlVeryHidden

如果你想使用这个方法,你需要总是有一个可见的 sheet 所以你必须创建一个 sheet 然后 运行 这个代码:

Sub VeryHiddenTabs()
    For i = 1 To ThisWorkbook.Worksheets.Count - 1
        ThisWorkbook.Worksheets(i).Visible = xlVeryHidden
    Next
End Sub

既然你已经有了你说的sheet,那么Excel就让一切变得非常隐蔽。上面的例程将使最后创建的 sheet 可见,而其余的则非常隐藏。

我能够使用它来将我的 sheet 设置为 .Visible = False

Sub HideMySheets()
    Sheets(Array(Sheet1.Name, Sheet2.Name, Sheet3.Name, Sheet4.Name, Sheet5.Name)).Visible = False
End Sub

很遗憾,您不能使用此方法将它们设置为 .Visible = xlVeryHidden。相反,您必须使用@Ibo 的方法在每个 sheet 的基础上进行。