• ベストアンサー

複数シートの印刷設定について

はじめまして、こんにちは。 複数シートの印刷について教えて下さい。 印刷したいエクセルブックにはシートが6枚あり、その中から4枚のシートをVBAを使って印刷できるようにしたいと思っています。 ですが、シート4については必ずある訳でなく、無い場合もあるので”シート4があれば、シート4も印刷する”という風にしたいと思うのですが、どのように書けばいいのでしょうか。 vntSelSheet = Array("シート1", "シート2", "シート3" ,"シート4" ) Worksheets(vntSelSheet).Select Worksheets(vntSelSheet).PrintOut

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

  • ベストアンサー
  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.2

こんなのはいかがでしょうか? Dim sht As Worksheet Dim vntSelSheet vntSelSheet = Array("シート1", "シート2", "シート3", "シート4") Dim i For Each sht In ThisWorkbook.Worksheets For i = LBound(vntSelSheet) To UBound(vntSelSheet) If sht.Name = vntSelSheet(i) Then sht.PrintOut Next i Next sht ちなみに、シート4も必ず有る場合は、どのようなコードにしますか? そのコードで、 On Error Resume Next にして、エラーが出ても無視して次のコードを続けるようにするという手もありますよ。

その他の回答 (1)

回答No.1

泥臭いけど、シート名が決まってるのなら Dim sht As Worksheet For Each sht In ThisWorkbook.Worksheets If (sht.Name = "シート1") Or _ (sht.Name = "シート2") Or _ (sht.Name = "シート3") Or _ (sht.Name = "シート4") Then sht.PrintOut End If Next とか?

関連するQ&A