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= "SheetName2", 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 に答える