循环以更改工作表页面设置/打印区域

时间:2016-03-23 14:54:58

标签: excel vba excel-vba

我已经完成了从多个地方编辑多张表的Excel工作簿的问题。问题是它们都有不同的页面设置,打印区域等。打印区域是主要的,因此我希望在VBA中设置一个循环来遍历文档中的所有页面并将打印区域更改为"适合一页"。这是我创建并正在开发的东西,它在VBA中运行但实际上没有发生任何事情? :/。还有一种方法可以在页面中集中吗?所以不仅适合页面,而且适合页面中心?

Sub WsLoop()

Dim ws As Worksheet

    For Each ws In ActiveWorkbook.Worksheets
        With ws.PageSetup
        .Orientation = xlLandscape
        .FitToPagesWide = 1
        .FitToPagesTall = 1
    End With
    Next

End Sub

1 个答案:

答案 0 :(得分:0)

  1. {2010}中.Orientation适用于我。您的使用 ActiveWorkbook可能是问题;它可能是选择一个 不同的工作簿比你预期的。尝试使用工作簿名称 选择它。
  2. 要使.FitToPagesWide.FitToPagesTall正常工作,请填写 在他们之前:.Zoom = False
  3. .CenterHorizontally.CenterVertically属性 PageSetUp对象应该毫无意外地工作 斯科特
  4. 我在Excel 2010中尝试过这种方法。对于.FitToPagesWide.FitToPagesTall,只需点击“文件”菜单上的“打印”,就不会看到它们已填充;如果您再单击左侧子菜单和右侧预览之间窗格底部的“页面设置”链接,您将看到它们已填充。