首页 > 解决方案 > Excel VBA 行在顶部重复,最后一页除外

问题描述

我有一个 3 行作为标题的动态表格,然后在表格下方有一些一般性说明。我希望标题行在表格出现的每一页上重复,但如果最后一页只包含一般性备注,那么不要在最后一页上重复标题行。

我设置了一个逻辑来检查最后一页是否仅包含一般性备注,但在打印到 PDF 时,第 1 页打印两次,第 2 页不打印(如果工作表包含 2 页)。

谁能帮助建议如何解决这个问题?谢谢。

我尝试添加“Application.PrintCommunication = True”和“Worksheets("Quotation").Activate”,但它们似乎没有帮助。

Sub print_with_repeated_rows()

Call Precheck

Dim active_sheet As Variant, page_nums As Variant

Set active_sheet = ThisWorkbook.ActiveSheet
page_nums = active_sheet.PageSetup.Pages.count

If Last_page_need_title_row Then
    active_sheet.PrintOut From:=1, To:=page_nums
Else

    On Error Resume Next
    Application.PrintCommunication = True
    Err.Clear

    Worksheets("Quotation").Activate
    With ActiveSheet.PageSetup
    .PrintTitleRows = "Print_Titles"
    ActiveSheet.PrintOut From:=1, To:=page_nums - 1
    .PrintTitleRows = ""
    ActiveSheet.PrintOut From:=page_nums, To:=page_nums
    End With

End If

End Sub

标签: excelvbaprintingexcel-2010

解决方案


推荐阅读