У меня есть лист, на котором я сделал код для печати листа, и данные на листе динамически изменяются другим кодом.Я имею в виду, что количество строк, которые будут напечатаны, не будет фиксировано все время. Есть ли способ напечатать нижний колонтитул непосредственно после последней строки каждой страницы, поскольку страница иногда имеет только 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