我已经进行了研究,无论出于什么原因,我都无法使这个简单的代码正常工作。简而言之,我正在尝试xlveryhidden
5个标签,但我收到了run-time error 1004
。如果有的话,最好将工作表名称更改为代码名称,以防我更改选项卡名称:
Sub VeryHiddenTabs()
Sheets(Array("Calculations", "LY Rates", "TY Rates", "Client Details", "Census")).Visible = xlVeryHidden
End Sub
答案 0 :(得分:0)
根据您提供的信息,您似乎正在尝试使所有工作表都非常隐藏,因此您无法执行此操作。您必须在工作簿中至少有一张可见表。
另外,要使用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将隐藏所有工作表。上面的例程将使最后创建的工作表保持可见,其余的工作非常隐藏。
答案 1 :(得分:0)
我能够使用它来将工作表设置为.Visible = False
。
Sub HideMySheets()
Sheets(Array(Sheet1.Name, Sheet2.Name, Sheet3.Name, Sheet4.Name, Sheet5.Name)).Visible = False
End Sub
不幸的是,事实证明,您不允许使用此方法将它们设置为.Visible = xlVeryHidden
。取而代之的是,您必须使用@Ibo的方法逐页执行此操作。