是否可以确定每个打印页面上我的打印区域内每个页面上有多少行?由于我的宏中有“自动换行”命令,因此每个页面可容纳的行数不同。我希望宏遍历整个“打印”区域,并在每页上都可以容纳行数。我的打印区域是A1:C111。
我试图对此进行研究,但没有结果:
Sub t()
Dim printRng As Range, lastRow As Long
Set printRng = Range("A1:C111")
ActiveSheet.PageSetup.PrintArea = printRng
lastRow = printRng.Row + printRng.Rows.Count - 1
End Sub
答案 0 :(得分:1)
您可以使用HPageBreaks
获取所有水平分页符。对于每个分页符,您都可以确定行号Location.Row
。如果您减去之前的分页符行数,则可以得到每页上的行数。
Option Explicit
Public Sub CountRowsEachPage()
Dim LastPb As Long
LastPb = 1 'initialize
Dim pb As HPageBreak
For Each pb In Worksheets("Sheet1").HPageBreaks
Debug.Print pb.Location.Row - LastPb 'shows rows per page on the intermediate window
LastPb = pb.Location.Row
Next pb
End Sub