我做过研究,无论出于什么原因,我都无法让这个简单的代码正常工作。简单地说,我正在尝试xlveryhidden
5个标签,但我收到run-time error 1004
。如果有的话,如果我更改选项卡名称,最好从Sheet名称更改为代码名称:
Sub VeryHiddenTabs()
Sheets(Array("Calculations", "LY Rates", "TY Rates", "Client Details", "Census")).Visible = xlVeryHidden
End Sub
我能够使用它将我的床单设置为.Visible = False
。
Sub HideMySheets()
Sheets(Array(Sheet1.Name, Sheet2.Name, Sheet3.Name, Sheet4.Name, Sheet5.Name)).Visible = False
End Sub
不幸的是,事实证明你不允许使用这种方法将它们设置为.Visible = xlVeryHidden
。相反,你必须使用@ Ibo的方法在每张纸上进行。
根据您提供的内容,您似乎正在尝试使所有工作表都非常隐藏,您无法执行此操作。您必须在工作簿中至少有一个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将使所有非常隐藏。上面的例程将保持最后创建的工作表可见,其余部分非常隐藏。