使用VBA自动更改Excel打印区域
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用VBA自动更改Excel打印区域
在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 WithEnd Sub
上述代码将捕获列D中最后使用的单元格。
代码中的Sheet1是工作表代码名称,如果你使用的工作表不是Sheet1,则需要对此进行修改。
如果想打印单元格A1所处的当前区域,则可以使用下面的代码:Sub PrintCurrentArea() Sheet1.PageSetup.PrintArea = [A1].CurrentRegion.AddressEnd Sub
其中,当前单元格所在的“数据块”中所有数据将被视为打印区域的一部分。
这种代码可以添加到Change事件中,这样不必反复运行该宏就会让打印区域自动包含更新后的数据。