代码只隐藏一个工作簿而不是隐藏所有当前打开的工作簿

Hus*_*ush 3 excel vba excel-vba

我通常打开多个工作簿,在一个工作簿上,我有一个VBA代码隐藏工作簿并显示UserForm.但是当我打开该工作簿时,我当前打开的所有工作簿也会隐藏.我可以用什么代码来隐藏1个工作簿?

以下是我尝试过的代码:

ThisWorkbook.Application.Visible = False

Windows(ThisWorkbook.name).Visible = False

Application.Windows(1).visible = false
Run Code Online (Sandbox Code Playgroud)

随着Windows(ThisWorkBook.name).visible = False与关闭只有一个工作簿中的作品,它与工作簿食堂和表不显示在所有.我甚至无法在不使用任务管理器的情况下关闭excel工作簿.

Mik*_*keD 5

ThisWorkbook.Application.Visible = False将更改运行您的工作簿Visible应用程序的属性,即Excel.EXE的实例...如果此实例也运行您的其他书籍,那么所有这些书籍将从屏幕上消失.

要隐藏单个工作簿,请使用

ActiveWindow.Visible = False
Run Code Online (Sandbox Code Playgroud)

或者,如果您要隐藏的工作簿(例如"MyWorkbook")不是活动工作簿

Windows("MyWorkbook").Visible = False
Run Code Online (Sandbox Code Playgroud)

注意隐藏窗口也会将指针移动到ActiveSheet,同样当你反转它时(即...Visible = True)显示的工作表变为活动状态.