- ベストアンサー
エクセルで作成したブックの32のシ-トを連続してプリントアウトするマクロを教えて下さい
エクセルで日報作成したブックに1~32のシ-トを設定活用しているのですが、月末に連続して各シ-トをプリントアウトしたいのですが、それに対応するマクロが有ればを教えていただけませんでしょうか・・・!
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
Excel は、操作経験がない門外漢です。 そこで、回答をかく場合の攻め方を紹介しておきます。 1、マクロを記録させる。 まず、Sheet1からSheet3を印刷するマクロを記録します。 Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2006/9/30 ユーザー名 : xxxxxx ' ' Sheets("Sheet1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Sheet2").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Sheet3").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True End Sub 2、改造準備。 [イミディエイトウインドウ] ? workbooks("book1").Sheets.Count 32 これで、シート数がわかります。 3、改造結果。 Public Sub Macro2() On Error Resume Next Dim I As Integer Dim N As Integer N = Workbooks("book1").Sheets.Count For I = 1 To N Sheets("Sheet" & I).Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Next I End Sub
その他の回答 (3)
- san3525
- ベストアンサー率40% (27/66)
マクロじゃないのですが、手っ取り早い方法なら。 印刷のダイアログボックスで、印刷の対象をブック全体にすると、全てのシートが印刷出来ます。
s_husky です。 ・シート名が任意であれば実行不可。 ・{Enter}を押さねばならない。 という不具合を回避するには、少し、手を加える必要があります。 Public Sub Macro2() Dim I As Integer Dim N As Integer N = Workbooks(1).Sheets.Count For I = 1 To N Sheets(I).Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True SendKeys "{ENTER}", False Next I End Sub なお、印刷範囲が指定されていることが必要なようです。
お礼
ご回答ありがとう御座います、マクロ作成に挑戦してみます、大変参考になりました。
- azuminowasabi
- ベストアンサー率30% (263/858)
シート1をクリックしてShiftキーを押しながらシート32をクリックして(全シート選択)もしくはシート上で右クリック、「すべてのシート選択」印刷ではだめですか?
お礼
ご回答ありがとう御座います、マクロ作成にだけ気を取られこんな方法が有るとは気が付きませんでした。大変参考になりました。
お礼
ご回答ありがとう御座います、マクロ作成にだけ気を取られこんな方法が有るとは気が付きませんでした。大変参考になりました。