- ベストアンサー
複数シートの印刷設定について
はじめまして、こんにちは。 複数シートの印刷について教えて下さい。 印刷したいエクセルブックにはシートが6枚あり、その中から4枚のシートをVBAを使って印刷できるようにしたいと思っています。 ですが、シート4については必ずある訳でなく、無い場合もあるので”シート4があれば、シート4も印刷する”という風にしたいと思うのですが、どのように書けばいいのでしょうか。 vntSelSheet = Array("シート1", "シート2", "シート3" ,"シート4" ) Worksheets(vntSelSheet).Select Worksheets(vntSelSheet).PrintOut
- みんなの回答 (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)
- temtecomai2
- ベストアンサー率61% (656/1071)
泥臭いけど、シート名が決まってるのなら 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 とか?