如何将printarea调整为一张纸

我在一张纸上定义了一个打印区域并将其打印出来。 但是这个面积比一张纸大,所以会打印成4页。 我想在一个页面中包含所有的内容。 所以我试过这个代码:

Sub PrintTable() With ActiveWorkbook.Sheets("myTable").PageSetup .PrintArea = "$A$1:$L$55" .FitToPagesWide = 1 .FitToPagesTall = 1 .PrintErrors = xlPrintErrorsDisplayed End With End Sub 

但是它不起作用,我不知道要纠正哪个部分。 我用'录制macros',也许我已经删除了一些重要的行。 所以,如果你有一些想法,请留下一个笔记。

我只是自己试了一下,这个工程:

  Application.PrintCommunication = False With ActiveSheet.PageSetup .FitToPagesWide = 1 .FitToPagesTall = 1 End With Application.PrintCommunication = True 

没有设置

  Application.PrintCommunication 

假的和真的,这是行不通的。 你能试试吗?

编辑根据这个解释 , Zoom必须先被设置为False 。 尝试:

 .Zoom = False .FitToPagesTall = 1 .FitToPagesWide = 1 

代替现在的两个.FitToPages行。

原始答案

通过这个论坛post ,请尝试

 .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = False 

要么

 .Zoom = False .FitToPagesTall = 1 .FitToPagesWide = False 

代替现在的两个.FitToPages行。