• ベストアンサー

複数のシートをマクロで印刷

印刷したい複数のシートをアクティブ状態にして以下のマクロを実行すると、余計に印刷されてしまいます。 Sub Test()  Dim ws As Worksheet  For Each ws In ActiveWindow.SelectedSheets   ActiveWindow.SelectedSheets.PrintOut _   Copies:=1, Collate:=True  Next ws End Sub 例えば、Sheet1とSheet2を選択して実行すると、Sheet1とSheet2が二部ずつ印刷されます。また、Sheet1とSheet2とSheet3を選択して実行すると、それぞれが三部ずつ印刷されます。 それぞれを一部ずつ印刷するためには、マクロをどう直せばいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

それはそうなりますね。SelectedSheets(複数枚)を選択したシートの数だけForで回していますから。 以下でどうですか Sub Test()  Dim ws As Worksheet  For Each ws In ActiveWindow.SelectedSheets   ws.PrintOut _   Copies:=1, Collate:=True  Next ws End Sub

yumerie
質問者

お礼

回答ありがとうございます。 うまくいきました。

その他の回答 (1)

  • taocat
  • ベストアンサー率61% (191/310)
回答No.2

こんにちは。 ------------------------------------- Sub TEST()  ActiveWindow.SelectedSheets.PrintOut _    Copies:=1, Collate:=True End Sub -------------------------------------- この1行だけでプリントできるはずですが。。(^^; 以上です。

yumerie
質問者

お礼

回答ありがとうございます。 うまくいきました。

関連するQ&A