VBA非常隐藏多个标签

问题描述 投票:1回答:2

我做过研究,无论出于什么原因,我都无法让这个简单的代码正常工作。简单地说,我正在尝试xlveryhidden 5个标签,但我收到run-time error 1004。如果有的话,如果我更改选项卡名称,最好从Sheet名称更改为代码名称:

  • Sheet1 - 计算
  • Sheet2 - LY汇率
  • Sheet3 - TY费率
  • Sheet4 - 客户详细信息
  • Sheet5 - 人口普查

Sub VeryHiddenTabs()
    Sheets(Array("Calculations", "LY Rates", "TY Rates", "Client Details", "Census")).Visible = xlVeryHidden
End Sub
excel vba excel-vba hide
2个回答
0
投票

我能够使用它将我的床单设置为.Visible = False

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

不幸的是,事实证明你不允许使用这种方法将它们设置为.Visible = xlVeryHidden。相反,你必须使用@ Ibo的方法在每张纸上进行。


0
投票

根据您提供的内容,您似乎正在尝试使所有工作表都非常隐藏,您无法执行此操作。您必须在工作簿中至少有一个VISIBLE表。

此外,要使用VBA使工作表非常隐藏而不使用工作表名称,您应该使用工作表索引或工作表的代码名称。无法使用界面更改表格代码名称,因此代码可以使用表格名称。要更改工作表的代码名称,请转到VBE(ALT + F11),双击所需的工作表并更改名称,这是属性窗口中的第一项,如果没有看到属性窗口,请单击F4 。假设您将工作表的代码名称更改为mySht1,然后您可以执行以下操作:

mySht1.Visible = xlVeryHidden

如果您使用工作表的索引来更改可见性,则可以执行以下操作:

ThisWorkbook.Sheets(1).visible=xlVeryHidden

如果要使用此方法,则需要始终有一个可见工作表,因此您必须创建工作表,然后运行此代码:

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

因为你已经有了你提到的表单,所以Excel将使所有非常隐藏。上面的例程将保持最后创建的工作表可见,其余部分非常隐藏。

© www.soinside.com 2019 - 2024. All rights reserved.