• 公開日:
  • 更新日:

エクセルのマクロで複数シートの印刷を行う方法

この記事では、エクセルのマクロで複数シートを印刷する方法をご紹介します。

エクセルのマクロを使えば、手動で各シートを選択して印刷する手間を省くことができます。

具体的なコード例や、印刷前に印刷プレビューを表示する方法もご説明しています。

Excelを使った日付選択のマクロを無料でダウンロード!

Excelでカレンダーから日付を入力できるマクロを無料でダウンロードできます。コードを変更すれば、カレンダーの背景色や、今日の日付の色を変更したりとカスタマイズすることも可能です。

開発タブを表示する

マクロで複数シートを印刷するとき、「開発」タブを使用します。

開発タブ

上記の画像のような「開発」タブが表示されていない場合は、設定をして表示させましょう。

詳細は、以下の記事を参考にしてください。

エクセルの開発タブを表示する方法

複数シートを印刷するコード

マクロで複数シートを印刷するコードを下記に記載するので、コピーして使用してください。

Sub 複数シートを印刷する()
    Dim ws As Worksheet
    Dim sheetNames As Variant
    
    ' 印刷するシートを指定
    sheetNames = Array("Sheet1", "Sheet2", "Sheet3")  ' 印刷するシート名を配列に追加
    
    ' 連続印刷
    For Each sheetName In sheetNames
        Set ws = ThisWorkbook.Sheets(sheetName)
        ws.PrintOut
    Next sheetName
End Sub

詳しい方法は、下記「エクセルのマクロで複数シートの印刷を行う方法」セクションでご紹介しています。

このVBAコードを使用すると、指定した複数シートが連続印刷されます。

印刷プレビューを表示するマクロ

上の画像の赤矢印で示す箇所を「PrintOut」から「PrintPreview」に変更すると、印刷前に印刷プレビューを表示させることができます。

多くのシートを印刷するときなど念のため確認したい場合は、印刷前にプレビューを表示するコードにしてみましょう。

また、上記のコードでは印刷設定に関するオプションは指定されていません。

必要に応じて、印刷範囲/印刷枚数/用紙サイズ/印刷方向などの印刷設定を追加できます。

エクセルのマクロで複数シートの印刷を行う方法

エクセルのマクロで複数シートの印刷を行う設定方法をご説明をします。

Excelファイルをマクロが有効なファイルとして保存します。ファイルタブを選択します。

名前を付けて保存、参照の順に選択します。

「名前を付けて保存」ダイアログボックスが表示されました。①ファイルの保存場所(例:デスクトップ)を選択し、②任意のファイル名(例:住所録)を入力します。③ファイルの種類で「Excel マクロ有効ブック」を選択し、④保存ボタンを押します。

VBAでコードを登録します。①開発タブ、Visual Basicの順に選択します。

「Microsoft Visual Basic for Applications」が表示されました。①挿入タブ、標準モジュールの順に選択します。

「標準モジュール」が表示されました。上記「複数シートを印刷するコード」のコードをコピーし貼り付けます。

コード内「印刷するシートを指定」の箇所(例:Sheet1、Sheet2、Sheet3)に印刷したいシート名を入力します。元々のシート名が日本語でも英語でも、表記通りに入力してください。シート名が違うとマクロが動かないので、シート名は正確に入力しましょう。

ファイルタブ、上書き保存の順に選択します。

VBAの設定が終わったので、編集画面に戻ります。①開発タブ、マクロの順に選択します。

「マクロ」ダイアログボックスが表示されました。①作成したマクロ(例:複数シートを印刷する)、マクロの保存先で作業中のファイル(例:住所録)の順に選択します。③実行ボタンを押すと印刷が開始されます。

実際に印刷して確認してみましょう。コードで指定したシート(例:Sheet1、Sheet2、Sheet3)が連続印刷されました。