gpt4 book ai didi

excel - VBA 使用 2 个工作表中的不同页面设置打印作业

转载 作者:行者123 更新时间:2023-12-04 20:44:30 25 4
gpt4 key购买 nike

这让我很难过,找不到任何接近解决方案的东西,感谢任何帮助。

示例 - 我有一个包含多个工作表 A 到 H 的工作簿。每个工作表在两个页面上具有相同的页面设置(范围),每个页面设置未连接到另一个(页面之间的空白行)。所有工作表都受到保护。

任务 - 我想在工作表 D 上放置一个宏按钮,该按钮将在一个打印作业中打印工作表 C 的第 2 页和工作表 D 的第 1 页。这个想法是,将打印机设置为双面打印,我将两页打印在一张纸的两侧。
我已经看到一些需要先转换为 pdf 的解决方案,但如果可以避免的话,我宁愿不这样做。

有人敢挑战吗?

谢谢

最佳答案

给你:

Sub Macro5()

Sheets("Sheet2").Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$D$47"
Sheets("Sheet1").Select
ActiveSheet.PageSetup.PrintArea = "$A$48:$D$94"
ActiveWorkbook.PrintOut From:=1, To:=2, Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End Sub

那是通用的“记录宏”代码。但它是你想要的基础。您必须修改 SLIGHLTY 才能使用您的设置。

基本上你会做的是为你想要打印的纸张设置打印区域。所以它说 ActiveSheet.PageSetup.PrintArea = "$A$1:$D$47"那是我的 Excel 书中那张纸上的第 1 页。然后: ActiveSheet.PageSetup.PrintArea = "$A$48:$D$94"是另一张纸中的第 2 页。那么你必须将这两张纸移动到第一张和第二张(否则它不会工作)。行 ActiveWorkbook.PrintOut From:=1, To:=2, Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
打印整个工作簿,但是,它只打印从第 1 页到第 2 页。所以基本上,我将 2 个不同工作表的打印区域设置为两个工作表各 1 页。所以在打印这些纸张时,它只会打印打印区域。那么这两张纸是第一张和第二张,所以当打印第 1 页到第 2 页时,它只会从两张纸上打印 1 页。如果您将打印机设置为 2 面,它将在 1 页的两面打印。

要动态设置打印区域,您可以使用循环处理行,如果它们不为空白,则将它们添加到打印区域。如何拥有多个打印区域的示例: ActiveSheet.PageSetup.PrintArea = "$A$1:$D$14,$A$19:$D$
不幸的是,您需要像上面一样使用单元格地址。因此,如果我开始使用一个打印范围并想添加另一个打印范围,我可以这样做:
ActiveSheet.PageSetup.PrintArea = "$A$1:$D$14"
ActiveSheet.PageSetup.PrintArea = ActiveSheet.PageSetup.PrintArea & "$A$19:$D$"

所以用一个循环来适应它,它应该让你更接近。

关于excel - VBA 使用 2 个工作表中的不同页面设置打印作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22249161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com