分享

使用VBA自动更改Excel打印区域

 hercules028 2022-07-23 发布于四川

Excel中,将打印区域设置在移动单元格区域内可能是比较困难的事。你可能希望捕捉特定单元格区域为打印区域,或者让打印区域仅考虑某些列。假设在Excel工作簿中有几个辅助列,不希望打印这些列,但希望这些列可见。可以手动设置打印区域以排除非打印区域,但现在已经添加了更多数据,并且希望以同样的方式更新打印区域。

下面的VBA过程将生成从列A到列D的打印区域,而不管你是否更新数据,只要在列A至列D,都将包含在打印区域中。
Sub PrintArea()
    Dim sh As Worksheet
    Set sh = Sheet1
    With sh
        .PageSetup.PrintArea = _
        .Range('A1', .Range('D' & Rows.Count).End(xlUp)).Address
    End With
End Sub

上述代码将捕获列D中最后使用的单元格。代码中的Sheet1是工作表代码名称,如果你使用的工作表不是Sheet1,则需要对此进行修改。

如果想打印单元格A1所处的当前区域,则可以使用下面的代码:
Sub PrintCurrentArea()
    Sheet1.PageSetup.PrintArea = [A1].CurrentRegion.Address
End Sub

其中,当前单元格所在的“数据块”中所有数据将被视为打印区域的一部分。这种代码可以添加到Change事件中,这样不必反复运行该宏就会让打印区域自动包含更新后的数据。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多