Печать нижнего колонтитула непосредственно после последней строки на странице - PullRequest
0 голосов
/ 23 января 2019

У меня есть лист, на котором я сделал код для печати листа, и данные на листе динамически изменяются другим кодом.Я имею в виду, что количество строк, которые будут напечатаны, не будет фиксировано все время. Есть ли способ напечатать нижний колонтитул непосредственно после последней строки каждой страницы, поскольку страница иногда имеет только 5 строк, и в этом случае нижний колонтитул находится далекоиз данных .. так что мне нужен способ сделать нижний колонтитул рядом с данными в этом случае?Это возможно?Примечание. Я не хочу включать нижний колонтитул в качестве временной строки и удалять эту строку после печати. ​​

Вот моя попытка до сих пор

Sub Test()
Dim i As Integer, x As Double, lr As Integer
Dim a, y
With ActiveSheet.PageSetup
    x = .FooterMargin
    For i = 1 To .Pages.Count
        If i = .Pages.Count Then
            'Stop
            'How to set the margin so as to suit the last row of data
            lr = Cells(Rows.Count, 1).End(xlUp).Row
            ActiveSheet.PageSetup.PrintArea = Range("A1:H" & lr).Address
            a = Mid(Sheets("Sheet1").HPageBreaks(1).Location.Address(0, 0), 2, 99) - 1


            y = a - (lr - (a * (.Pages.Count - 1)))

            MsgBox y
            '.FooterMargin = Application.InchesToPoints(0.78740157480315)
        End If
        ActiveSheet.PrintOut from:=i, To:=i, Preview:=True
        'ActiveSheet.PrintPreview
    Next i
    .FooterMargin = x
End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...