VBA Excel设置打印区域

时间:2019-03-27 03:05:41

标签: excel vba

我正在使用命名范围设置打印区域,因为它是一个表格并且会不断增长。 当我执行时,标题将不会打印。如何调整它以打印命名范围(表3)和标题?

我尝试过; ActiveSheet.PageSetup.PrintArea = Range("Table3{Headers}").Address 但只打印标题。

Application.Dialogs(xlDialogPrinterSetup).Show
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .PrintTitleRows = ""
        .PrintTitleColumns = ""
    End With
    Application.PrintCommunication = True
    ActiveSheet.PageSetup.PrintArea = Range("Table3").Address
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup

我要打印标题和Table3。

1 个答案:

答案 0 :(得分:1)

表是ListObject。使用ListObject.Range属性返回表引用的Range(包括标题)。

Dim myTbl as ListObject
Set myTbl = ThisWorkbook.Sheets("mysheetname").ListObjects("Table3")
...
ThisWorkbook.Sheets("mysheetname").PageSetup.PrintArea = myTbl.Range.Address

根据需要更改工作表名称。