Excelで複数シートの印刷範囲を設定する方法
Excelの印刷設定で、同じフォーマットが複数シートある場合を想定してください。
ひな形を作成したシートから、印刷設定をせずにシートを増殖してしまうと、印刷時に困ってしまいます。
というのも、印刷設定はグループ化操作(まとめて処理)ができないため、1シートずつ設定しなければいけないからです。
グループ化設定を行うと
印刷範囲ボタンがグレーアウトして操作ができない
Excelのマクロを組めば一瞬で済みそうなものですが、Mac Excelなどをお使いの場合では、うまく作動しない可能性もあり、手軽な手動操作はないものかと考えてみました。
※ Excelマクロは文末に載せておきます。
手順① Print_Area
グループ化をした状態で、左のシートをアクティブにします。
次に範囲選択を行い、名前ボックスに「Print_Area」と入力すると、これが印刷設定時に付与される定義された範囲になります。
大文字、アンダースコア、間違えないように入力をしてください。
この「Print_Area」という文字列を入力後、忘れずにコピーしておきます。
手順② Enterキーで確定
Enterキーを押すと、印刷範囲が確定し、アクティブセルにフォーカスが移動します。
これで印刷範囲がこのシートのみ反映されました。
手順③ 「Ctrl」+「PgDw」を押す
ショートカットキー「Ctrl」+「PgDw」でシートを右側に移動します。「PgDw」キーがないノートパソコンの場合は、「Fn」キーを押しながら該当するキーを探してください。
Mac Excelの場合、「Option」+「→」の操作でシート切り替えになります。
ただ、Mac Excelのショートカットキーは、OSやエクセルのバージョンによって異なる場合もありますので、ご注意ください。
手順④ 名前ボックスにペースト
グループ化した状態なので、範囲選択はグループ化操作により「1」シートと同じ範囲が取得できています。
シートを切り替えたら、名前ボックスに「Print_Area」をペーストしてください。
これをひたすら繰り返す、といった操作になります。
まとめ
- グループ化をする
- 印刷範囲を選択する
- 名前ボックスに「Print_Area」と入力
- 「Print_Area」をコピー
- 「Enter」キーで確定
- 「Ctrl+PgDw」で右側のシートに移動
- 名前ボックスに「Print_Area」をペースト
- ⑤から繰り返す
3シートぐらいまでは、しどろもどろな操作になりますが、慣れてくるとわりとサクサク印刷設定が完成していきます。
100シートあったとしても3分以内には終わるので、オラオラとショートカットキーを駆使してみてください。
同一フォーマットで、それぞれ内容が異なる場合、1枚1枚の印刷物にズレがあると、なんだか残念な気分になりますからね。
印刷範囲を設定しなくても、一応はできる
印刷範囲を設定しなくても、グループ化して範囲選択をした状態で「選択した部分を印刷」を選ぶと、まとめて印刷したいエリアを指定することもできます。
参考までにMac Excelもキャプチャを載せておきます。
印刷をする・しないの「選択部分」のラジオボタンと間違えないようにしてください。
こっちのほうがシンプルではありますけれども、サシカエなどがあった場合、サシカエ部分を単独で印刷することも考えられ、そうなると印刷未設定のままアウトプットしてしまう、なんてことも想定されます。
一応、印刷設定はしておいたほうが無難ですね。
ExcelのVBAコード
最後に、こちらがVBAのコードとなります。コードは簡単なんですよ。
Sub SetPrintAreaForSheets()
Dim i As Integer
For i = 1 To 10 ' シート1からシート10までループ
With ThisWorkbook.Sheets(i).PageSetup
.PrintArea = "B2:R100" ' 印刷範囲を設定
End With
Next i
End Sub
For文で格納されるカウンタ変数 i は、Sheets(1)が指定されると、一番左側のシートを指しています。Sheets(4)では、左側から4番目のシート、という意味になります。つまり、左からスタートして10枚目のシートまで処理を行う、といったコードです。
キャプチャの場合は「表紙」シートが一番左側にありましたので、その場合はカウンタ変数を「2 To 11」に変更すればいいということです。
お約束事ですが、VBAの使用は自己責任でお願いしますね。