在打印excel工作表内容时,如果从左到右的数据内容偏多,打印时往往会将同一行的数据内容打印在不同的页面。
这时候,我们往往通过缩放比例来使从左到右的所有数据内容打印在一个页面上。
在excel中可以通过“页面布局”选项卡下的“调整为合适大小”工作组进行设置,如下图所示:

在vba中,可以通过设置PageSetup对象的Zoom、FitToPagesWide 、FitToPagesTall 3个属性来设置工作表的打印缩放比例以及是否调整为1页宽或者1页高。
以下vba代码将所有excel工作表调整为1页宽打印:
Sub QQ1722187970()
Excel.Application.ScreenUpdating = False
Excel.Application.Calculation = xlCalculationManual
Dim oWK As Worksheet
For Each oWK In Excel.ThisWorkbook.Worksheets
With oWK.PageSetup
'缩放要调整为False,FitToPagesWide和FitToPagesTall才会生效
.Zoom = False
'调整为1页宽
.FitToPagesWide = 1
'设置为False,将自动调整为N页高
.FitToPagesTall = False
End With
Next
Excel.Application.ScreenUpdating = True
Excel.Application.Calculation = xlCalculationAutomatic
End Sub


发表评论