【问题标题】:Excel 2007 VBA Zooming (without using select?)Excel 2007 VBA 缩放(不使用选择?)
【发布时间】:2012-02-23 13:55:35
【问题描述】:

好的,所以我不需要在 VBA 中执行任何需要激活工作表或选择单元格的操作。但是,现在,我正试图弄清楚如何在一堆工作表上将缩放到 100%,而我看到的所有代码(谷歌搜索结果,包括来自本网站的答案)似乎都首先选择了一张工作表:

ActiveWindow.Zoom = 100 

但是,我确实在 OzGrid 上找到了一些代码,似乎暗示可以在不先选择工作表的情况下执行此操作:

Sht.PageSetup.Zoom = 100

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

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

但是什么都没有发生……实际上什么都没有。

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

【问题讨论】:

    标签: vba excel excel-2007


    【解决方案1】:

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

    但是,如果您不想“看到”每张工作表在发生时被激活和缩放,您可以添加该行

    Application.ScreenUpdating = False
    

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

    Application.ScreenUpdating = True
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2010-11-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-10
        • 2015-10-15
        • 2020-03-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多