繁体   English   中英

VBA VeryHidden多个选项卡

[英]VBA VeryHidden multiple tabs

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

  • 表格1-计算
  • Sheet2-LY价格
  • Sheet3-TY费率
  • Sheet4-客户详细信息
  • 工作表5-人口普查

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

根据您提供的内容,您似乎正在尝试使所有工作表都非常隐藏,您不能这样做。 您必须在工作簿中至少有一张可见表。

此外,要使用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会将所有内容隐藏起来。 上面的例程将使最后创建的工作表保持可见,其余的工作非常隐藏。

我能够使用它来将工作表设置为.Visible = False

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

不幸的是,事实证明,您不允许使用此方法将它们设置为.Visible = xlVeryHidden 相反,您必须使用@Ibo的方法逐页执行此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM