Excel 2007 VBA缩放(不使用select?)

好的,所以我从来不需要在VBA中做任何我需要激活工作表或select一个单元的任何事情。 但是现在,我正在试图弄清楚如何在一大堆工作表上缩放到100%,而且我看到的所有代码(谷歌search结果,包括本网站的答案)似乎都是先select一个表格:

ActiveWindow.Zoom = 100 

但是,我确实在OzGrid上find了一些代码,这似乎意味着可以在不select表单的情况下进行操作:

 Sht.PageSetup.Zoom = 100 

(虽然上面我们有Set Sht = ActiveSheet)我试过了

 Set Sht = ThisWorkbook.Worksheets("Sheet1") Sht.PageSetup.Zoom = 150 

但没有任何反应

那么,这可能吗? 或者我必须激活一个工作表才能进行缩放? 我读过很多次,这是不好的编程习惯,除非你绝对必须这样做。

是的,我相信缩放只是对活动工作表有影响。

但是,如果您不想“看到”每张纸被激活并放大,您可以添加该行

 Application.ScreenUpdating = False 

在您的缩放代码之前,然后完成之后:

 Application.ScreenUpdating = True 

设置Application.Screenupdating = False不会解决您的问题。 如果您select工作表或激活工作表, Application.screenupdating将被设置为true。