【发布时间】:2018-02-16 04:18:04
【问题描述】:
我知道我的问题到处都有答案,但我都试过了,我不确定我错过了什么,或者你有什么。基本上我在一个 Excel 电子表格中有大约 20 个选项卡。在工作簿打开时,我试图将它们全部隐藏,但这不起作用。当我的工作簿打开时,我看到工作表闪烁一秒钟,然后一切都像往常一样。我基本上是在遍历所有工作表并像这样隐藏它们......
Private Sub Workbook_Open()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Visible = xlSheethidden
Next ws
LogForm.Show
End Sub
我做错了什么?如果我只是这样做,我可以隐藏它们......
sheets("Project").visible=false
但由于用户可能会添加更多工作表,因此我试图确保我的代码是动态的。
【问题讨论】:
-
应该是
ws.visible = xlSheetHidden -
IIRC,您无法隐藏 每个 工作表。至少一个必须保持可见。顺便说一句,那应该是
ThisWorkbook而不是ActiveWorkbook。 -
如果你显示一个表单,而不是隐藏工作表,你能不能只使用
Application.Visible = False?