2012-02-23 107 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。