仅隐藏特定工作簿而不影响其他工作簿



已经在互联网上流传了一圈,得到了和我想得到的一样的答案。

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

相关内容

最新更新