尝试在UNAPP宏之后激活活动工作簿,但是(如果打开了许多工作簿)始终激活最后打开的工作簿,并且每次切换(最后一个工作簿到Activeworkbook)时,我都需要始终激活从中调用代码的工作簿。
Sub App()
With Application
.ScreenUpdating = False
.DisplayAlerts = False
.EnableEvents = False
.Calculation = xlManual
.Visible = False
End With
End Sub
Sub unApp()
With Application
.ScreenUpdating = True
.DisplayAlerts = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
.Visible = True
End With
End Sub
Sub testActivate()
Set wbT = ThisWorkbook
App
unApp
wbT.Activate
End Sub
答案 0 :(得分:0)
通常,使用.Activate
不是一个好主意。我认为,间接使用工作簿的最佳方法是在变量中设置工作簿,然后在With Statement
中使用该变量。
Option Explicit
Sub test()
Dim wb1 As Workbook, wb2 As Workbook
Set wb1 = Workbooks("Book1")
Set wb2 = Workbooks("Book2")
With wb2
'Close is just an example
.Close
End With
End Sub
答案 1 :(得分:0)
Application
影响当前应用程序中的所有工作簿,因此我假设您有多个打开的应用程序,并且要引用运行代码的应用程序吗?
如果可以,您可以使用
With ThisWorkbook.Application
(无论如何都是好习惯)