在页面的最后一行之后直接打印页脚

时间:2019-01-23 01:31:33

标签: excel vba

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

0 个答案:

没有答案