Excel VBA количество строк на каждой странице в области печати - PullRequest
0 голосов
/ 15 октября 2018

Есть ли способ определить, сколько строк на каждой странице в моей области печати на каждой напечатанной странице?Из-за команды «Обтекание текстом» в моем макросе количество строк может быть разным на каждой странице.Я хотел бы, чтобы макрос прошел через всю область печати, и на каждой странице можно было бы разместить ряды.Моя область печати - 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

1 Ответ

0 голосов
/ 15 октября 2018

Вы можете использовать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...