【发布时间】:2014-05-04 11:56:19
【问题描述】:
我有一个工作簿,其中包含多个定义了打印区域的工作表。每个打印区域定义了 0 个或多个分页符。如何只选择第 1 页中的单元格或仅选择打印区域的第 2 页中的单元格。我已经编写了选择第 1 页的代码:
Dim wksht As Worksheet
Dim rng As Range
Dim prntArea As Range
Set wksht = ThisWorkbook.ActiveSheet
Set prntArea = wksht.Range(wksht.PageSetup.printArea)
'Select Page 1 of print area
'First cell of print area
Set rng = prntArea.Cells(1, 1)
'extend to one row above page break
Set rng = wksht.Range(rng.Address, wksht.HPageBreaks(1).Location.Offset(-1).Address)
'extend to last column of Print Area
Set rng = wksht.Range(rng.Address, wksht.Cells(prntArea.Cells(1, 1).Row, prntArea.Cells(prntArea.Count).Column).Address)
rng.Copy
然后我必须编写更多代码来选择第二页和第三页(如果存在),从一个分页符到下一个或打印区域的末尾。
有没有更简单的方法可以只选择打印区域的一页?
我想做什么:
用户可以使用 ExportToFixedFormat 打印到 PDF,并且使用打印区域。他们希望能够打印到 PowerPoint 和 Word。因此,我正在创建一个新的 PowerPoint 演示文稿并选择打印页面区域,然后复制并粘贴到新幻灯片中。除了试图找到一种更简单的方法来选择打印页面之外,我一切正常。
【问题讨论】:
标签: vba excel page-break