我有一个工作簿,其中包含200个需要打印的工作表。
在工作表上,其中一些长1页,其中一些长2页。
我想在两面打印,但是当我这样做时,它会将不同的工作表放在两面。
每个工作表都需要放在另一张纸上,如果工作表是一页,那么我需要在一张纸上显示,而下一页长的工作表需要在另一张纸上。
是否可以使用VBA做到这一点?
请帮助!
谢谢
答案 0 :(得分:0)
尝试以下代码:
Sub print_all()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.PrintOut
Next ws
End Sub
这将循环浏览工作簿中的所有工作表,然后分别打印出每一页。请注意,它会打印到默认打印机,但是您可以通过为ActivePrinter
方法设置PrintOut
参数来设置哪台打印机。
答案 1 :(得分:0)
如果您对多个工作表(如
)使用一个.PrintOut
,则会有所不同
Sheets(Array("Sheet1", "Sheet2", "sheet3")).PrintOut
,或者为每个工作表单独使用.PrintOut
。
Sheets("Sheet1").PrintOut
Sheets("Sheet2").PrintOut
Sheets("sheet3").PrintOut