Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 双面打印_Vba_Excel - Fatal编程技术网

Vba 双面打印

Vba 双面打印,vba,excel,Vba,Excel,我有一份由200张工作表组成的工作簿,需要打印出来 在工作表上,其中一些有1页长,一些有2页长 我想在两面打印,但当我这样做时,它会在两面将不同的工作表放在一起 我需要每一张工作表放在不同的纸上,如果一张工作表只有一页,我需要它放在一张纸上,下一张1页长的工作表放在不同的纸上 有没有一种方法可以使用VBA实现这一点 请帮忙 谢谢,请尝试以下代码: Sub print_all() Dim ws As Worksheet For Each ws In ThisWorkbook.Wor

我有一份由200张工作表组成的工作簿,需要打印出来

在工作表上,其中一些有1页长,一些有2页长

我想在两面打印,但当我这样做时,它会在两面将不同的工作表放在一起

我需要每一张工作表放在不同的纸上,如果一张工作表只有一页,我需要它放在一张纸上,下一张1页长的工作表放在不同的纸上

有没有一种方法可以使用VBA实现这一点

请帮忙


谢谢,

请尝试以下代码:

Sub print_all()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        ws.PrintOut
    Next ws
End Sub

这将循环浏览工作簿中的所有工作表,然后分别打印每一页。请注意,它打印到默认打印机,但您可以通过设置
打印输出
方法的
ActivePrinter
参数来设置哪台打印机。

如果您使用一台
。打印输出
用于多张图纸,如

Sheets(Array("Sheet1", "Sheet2", "sheet3")).PrintOut
或者对每张图纸单独使用
.PrintOut

Sheets("Sheet1").PrintOut
Sheets("Sheet2").PrintOut
Sheets("sheet3").PrintOut
  • 第一个将连续双面打印所有纸张(因为它们仅为一张)
  • 而第二个将在一张纸上打印单页纸张(背面留空)和多页双面纸张。它永远不会在一张纸上打印两张不同的纸

请提供您在问题中实际使用的代码。“寻求调试帮助的问题(“此代码为什么不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。”谢谢,这正是我所需要的!