VBA打印输出激活打印的工作表

我使用以下过程为多个工作表:

Sub PrintTask(ByVal wsName As String, ByVal pageCount As Long) With ThisWorkbook.Worksheets(wsName) .PrintOut From:=1, To:=pageCount, Copies:=1, Preview:=False .DisplayPageBreaks = False End With End Sub 

它激活每个工作表,而我想留在我一直运行macros的工作表上,而不是在打印完成后才返回到它。 这甚至有可能吗?

在调用你的程序之前,确保ScreenUpdating被设置为False ,并且你不会注意到另一个表的“激活”:

 Sub Test Application.ScreenUpdating = False PrintTask "Sheet1", 3 Application.ScreenUpdating = True End Sub 

*除非其他Worksheet_Activate在其Worksheet_Activate事件处理程序中有某些内容。)