VBAmacros隐藏表

我知道我的问题到处都有答案,但我已经试过了,我不知道我错过了什么,或者你有什么。 基本上我有一个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 

但是,因为用户可能会添加更多的工作表,我试图确保我的代码是dynamic的。

有几种不同的方式可以让我们看到UserForm,而工作簿不可见。

最小化您的工作簿打开。

 Private Sub Workbook_Open() 'This is in the Workbook Code Application.WindowState = xlMinimized UserForm1.Show xlModeless End Sub 

隐藏个人工作表。

 Sub mySub() Dim ws as Worksheet: Set ws = ThisWorkbook.Sheets(1) ws.Visible = xlSheetHidden End Sub 

完全隐藏Excel窗口(只显示用户窗体)

 Sub mySub() UserForm1.Show xlModeless Application.Visible = False 'Can also be placed in Workbook_Open() to hide on open End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Application.Visible = True End Sub 

隐藏单个工作簿

 Sub MySub() Windows("MyWorkbook").Visible = False End Sub