あゆむん日記 -店の親父と定食と-

だらんだらんした生き物の停滞する日記。もう大概ツイッターにしかいませんけど

複数シートを印刷するマクロ

f:id:ayumun:20071205160323j:image:right
半ば俺用ですが、
エクセルで単純に複数シート一括印刷する時に、
いちいちShift+で選択すんのがめんどくさくなったので
ボタン一発で出来るようにマクロを組んだよ。
検索でソース探したんだけどズバリなものは
見当たらなかったので、ここに貼ってみる。
使えたら使っておくんなまし。


7行目のArray関数とか8行目とかちょっと余分な気がするけど
動作には問題ないので気にするな。
つか、整形して動くのか自信が無い…。ダメダメ
これはSheet2〜6を印刷するんだけど、ここは増やしたり減らしたり調整可能。
7行目のArray(以降を「"シート名","シート名"」で記述すること。

Sub 全シート印刷()
'
' Macro2 Macro
'
If vbNo = MsgBox("印刷を開始します", vbYesNo) Then Exit Sub
'
    Sheets(Array("Sheet2", "Sheet3", "Sheet4", "Sheet5", "Sheet6")).Select
    Sheets("Sheet2").Activate
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Sheet1").Select

MsgBox "印刷が終わりました"

End Sub


で、Sheet1にVBツールバーのコントロールツールボックスで
ボタンを配置して、ボタンに「全シート印刷」を振ってやればオケです。↓こんな感じだ

Private Sub CommandButton1_Click()
全シート印刷
End Sub