0

我想更改 Excel 中的文件打印设置以直接转到 VBA 并在打印工作簿时打印 26 个工作表中的一些。大多数活动工作表应该打印,但一些工作表不应该打印。工作簿是一个模板,活动和打印的工作表的数量将随着每个新工作簿的创建而改变。最后,VBA 代码是否应该放在“ThisWorkbook”部分?

4

1 回答 1

0

我会使用类似的东西

Sub PrintSheets ()
Dim Wks1 as Worksheet: set Wks1=Sheets("SheetName1")
Wks1.PrintOut Copies:=1, Collate:=True
'[...] and so on with your sheets

在哪里可以更改副本数为了完全自动化代码,我通常会创建一个名为“宏键”的新工作表,在其中存储工作表的名称和副本计数(即 A1= "SheetName1", B1="5" , A2= “工作表名称 2”,B2="10")。因此:

Sub PrintSheets ()
Dim MacroKeys as Worksheet: Set MacroKeys = Sheets("Macrokeys")
SheetName1 = Macrokeys.Range("A1").Value
SheetName1_CopyCount = Macrokeys.Range("B1").Value
Sheet(SheetName1 ).PrintOut Copies:= SheetName1_CopyCount, Collate:=True
'[...] and so on with your sheets
End Sub

希望这可以帮助!

于 2013-10-03T12:32:43.627 回答