已经在互联网上流传了一圈,得到了和我想得到的一样的答案。
Q: 如何在不隐藏其他工作簿的情况下隐藏工作簿并显示用户表单?
此代码很好,但隐藏了其他工作簿。
Application.Visible = False
这段代码很糟糕,因为它仍然显示excel应用程序。
Workbooks("Workbook Name.xlsm").Window(1).Visible = False
也不要工作。
ActiveWorkbook.Visible = False
最后,工具方法,转到工具>选项>常规选项卡>忽略其他应用程序。我的VBA 上没有此选项
这是我使用的代码。
Private Sub UserForm_Initialize()
If Application.Windows.Count > 1 Then
Application.Windows(ThisWorkbook.Name).Visible = False
Else
Application.Visible = False
End If
以及在ThisWorkbook模块中
Private Sub Workbook_Open()
UserForm1.Show
End Sub
隐藏特定工作簿的正确方法是
Application.Windows(ThisWorkbook.Name).Visible = False
其中CCD_ 1可以被替换为期望的工作簿名称,如CCD_。
- 如果同时打开多个工作簿,这将隐藏指定的工作簿(及其应用程序窗口(
- 如果这是唯一打开的工作簿,它将隐藏指定的工作簿(没有其应用程序窗口(
如果要隐藏应用程序窗口,必须使用
Application.Visible = False
现在的诀窍是组合它们
If Application.Windows.Count > 1 Then 'more than one workbook open: Hide workbook only
Application.Windows(ThisWorkbook.Name).Visible = False
Else 'only one workbook open: Hide application
Application.Visible = False
End If