101*_*101 3 excel vba row count
有什么方法可以确定每个打印页面的打印区域内每页有多少行?由于我的宏中的“文本换行”命令,每个页面可以容纳不同数量的行。我希望宏能够遍历整个打印区域,并且可以在每页上安装计数行。我的打印区域是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
Run Code Online (Sandbox Code Playgroud)
您可以使用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
Run Code Online (Sandbox Code Playgroud)