2012-02-23 88 views
2

好吧,所以我从来不必在VBA中做任何需要激活工作表或选择单元格的任何内容。但是,现在,我试图弄清楚如何在一堆工作表上做Zoom到100%,并且我看到的所有代码(谷歌搜索结果,包括本网站的答案)似乎都先选择一张:Excel 2007 VBA缩放(不使用select?)

ActiveWindow.Zoom = 100 

但是,我没有找到OzGrid一些代码,似乎暗示有可能做到这一点不首先选择一个表:

Sht.PageSetup.Zoom = 100 

(虽然上面我们已经设置SHT = ActiveSheet)我试图做

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

但没有发生......字面上没有任何反应。

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

回答

3

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

不过,如果你不想“看”得到激活和放大,因为它发生的每个片,则可以将变焦代码之前添加一行

Application.ScreenUpdating = False 

,它完成,然后后:

Application.ScreenUpdating = True 
-1

设置Application.Screenupdating = False不会解决您的问题。如果您选择一张纸或激活一张纸Application.screenupdating将被设置为true。