我有一个工作表,我编写了代码来打印工作表,并且工作表中的数据由另一个代码动态化。我的意思是要打印的行数不会一直固定 有没有一种方法可以直接在每页的最后一行之后打印页脚,因为该页面有时只有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