- 公開日:
エクセルのマクロで印刷設定を行う方法
この記事では、エクセルのマクロで印刷設定を行う方法をご紹介しています。
マクロを活用することで、繰り返し印刷設定を行う手間を減らし、より素早く正確な印刷設定を行うことができます。
さらにマクロによる印刷設定はカスタマイズも可能です。
Excelを使った日付選択のマクロを無料でダウンロード!
Excelでカレンダーから日付を入力できるマクロを無料でダウンロードできます。コードを変更すれば、カレンダーの背景色や、今日の日付の色を変更したりとカスタマイズすることも可能です。
開発タブを表示する
マクロで印刷設定を行う際、「開発」タブを使用します。

上記の画像のような「開発」タブが表示されていない場合は、設定をして表示させましょう。
詳細は、以下の記事を参考にしてください。
エクセルのマクロで印刷設定を行う方法
以下でエクセルのマクロで印刷設定を行う方法をご紹介します。
エクセルでシートと部数を指定して印刷するコード
エクセルでシートと部数を指定して印刷するコードを下記に記載するので、コピーして使用してください。
Sub シートと部数を指定する()
Dim ws As Worksheet
Dim copies As Integer
Set ws = ThisWorkbook.Sheets("Sheet3") ' 印刷するシート名を適宜変更
copies = 3 ' 印刷する部数を指定
ws.PrintOut Copies:=copies ' 部数を指定して印刷
End Sub
詳しい方法は、下記「エクセルのマクロでシートと部数を設定して印刷を行う方法」セクションでご紹介しています。
このVBAコードを使用すると、Sheet3を3部印刷することができます。
また、上記のコードではそのほかの印刷設定に関するオプションは指定されていません。
必要に応じて、印刷範囲/用紙サイズ/印刷方向などの印刷設定を追加できます。
項目 | 説明 |
---|---|
Set ws = ThisWorkbook.Sheets("Sheet3") | ThisWorkbook:アクティブなブックを取得 Sheets:()内のシートを取得 (複数のシートを指定したい場合は「,」で区切って入力する) |
copies | 部数を指定する (例:copies = 3→3部) |
ws.PrintOut Copies | 「copies」で指定した部数で印刷する |
上の表はコードの説明になります。
表を参考に、印刷したいシート名や部数などを適宜入力しましょう。
シート名が正しくないとマクロが動かないため、シート名は正確に入力しましょう。
エクセルのマクロでシートと部数を設定して印刷を行う方法
エクセルのマクロでシートと部数を設定して印刷を行う方法をご説明します。エクセルファイルのSheet3を3部印刷したい場合を例にご説明します。

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

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

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

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

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

「標準モジュール」が表示されました。上記「エクセルでシートと部数を指定して印刷するコード」のコードをコピーし貼り付けます。

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

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

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

実際に印刷して確認してみましょう。マクロで指定したSheet3が3部印刷されました。
エクセルのマクロで余白の印刷設定を行う方法
エクセルのマクロで余白の印刷設定を行う方法をご説明します。
エクセルで余白の印刷設定をするコードを下記に記載するので、コピーして使用してください。
Sub 余白を指定する()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1") ' シート名を適宜変更
With ws.PageSetup
.LeftMargin = Application.InchesToPoints(0.5) ' 左余白を0.5インチに設定
.RightMargin = Application.InchesToPoints(0.5) ' 右余白を0.5インチに設定
.TopMargin = Application.InchesToPoints(0.75) ' 上余白を0.75インチに設定
.BottomMargin = Application.InchesToPoints(0.75) ' 下余白を0.75インチに設定
ws.PrintOut
End With
End Sub
上記のVBAコードを使用すると、左右の余白が0.5、上下の余白が0.75に設定されて印刷されます。
また、上記のコードではそのほかの印刷設定に関するオプションは指定されていません。
必要に応じて、印刷範囲/印刷部数/用紙サイズ/印刷方向などの印刷設定を追加できます。
上記「エクセルのマクロでシートと部数を設定して印刷を行う方法」セクションの手順を参考にコードを設定しましょう。

上記「エクセルのマクロでシートと部数を設定して印刷を行う方法」セクションの「標準モジュールを挿入する」まで完了したら、「コードを入力する」手順で上記画像のように「エクセルで余白を指定するコード」を入力します。
項目 | 説明 |
---|---|
Set ws = ThisWorkbook.Sheets("Sheet1") | ThisWorkbook:アクティブなブックを取得 Sheets:()内のシートを取得 (複数のシートを指定したい場合は「,」で区切って入力する) |
.LeftMargin = Application.InchesToPoints(0.5) | 左余白を()内の数値にする |
.RightMargin = Application.InchesToPoints(0.5) | 右余白を()内の数値にする |
.TopMargin = Application.InchesToPoints(0.75) | 上余白を()内の数値にする |
.BottomMargin = Application.InchesToPoints(0.75) | 下余白を()内の数値にする |
ws.PrintOut | 印刷する |
上の表はコードの説明になります。
表を参考に、印刷したいシート名や余白の数値などを適宜入力しましょう。
シート名が正しくないとマクロが動かないため、シート名は正確に入力しましょう。
入力したら上記「エクセルのマクロでシートと部数を設定して印刷を行う方法」セクションの「マクロを保存する」の手順以降を参考にコードを保存、実行しましょう。

実際に印刷して確認してみると、設定した余白が反映されて印刷されました。
エクセルのマクロで印刷方向と用紙サイズの印刷設定を行う方法
エクセルのマクロで印刷方向と用紙サイズの印刷設定を行う方法をご説明します。
エクセルで印刷方向と用紙サイズの設定をするコードを下記に記載するので、コピーして使用してください。
Sub 用紙サイズと印刷方向を指定する()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1") ' シート名を適宜変更
With ws.PageSetup
.PaperSize = xlPaperA4 ' 用紙サイズをA4に設定
End With
With ws.PageSetup
.Orientation = xlLandscape ' 横方向の印刷に設定
End With
ws.PrintOut
End Sub
上記のVBAコードを使用すると、Sheet1がA4サイズ/横方向で印刷されます。
また、上記のコードではそのほかの印刷設定に関するオプションは指定されていません。
必要に応じて、印刷範囲/印刷部数などの印刷設定を追加できます。
上記「エクセルのマクロでシートと部数を設定して印刷を行う方法」セクションの手順を参考にコードを設定しましょう。

上記「エクセルのマクロでシートと部数を設定して印刷を行う方法」セクションの「標準モジュールを挿入する」まで完了したら、「コードを入力する」手順で上記画像のように「エクセルで印刷方向と用紙サイズの設定をするコード」を入力します。
項目 | 説明 |
---|---|
Set ws = ThisWorkbook.Sheets("Sheet1") | ThisWorkbook:アクティブなブックを取得 Sheets:()内のシートを取得 (複数のシートを指定したい場合は「,」で区切って入力する) |
.PaperSize | 用紙サイズを指定する (例: .PaperSize = xlPaperA4→ A4 (210 mm x 297 mm)サイズの用紙を設定) |
.Orientation | 印刷方向を指定する .Orientation = xlLandscape:横方向 .Orientation = xlPortrait:縦方向 |
ws.PrintOut | 印刷する |
上の表はコードの説明になります。
表を参考に、印刷したいシート名や用紙サイズ、印刷方向などを適宜入力しましょう。
シート名が正しくないとマクロが動かないため、シート名は正確に入力しましょう。
入力したら上記「エクセルのマクロでシートと部数を設定して印刷を行う方法」セクションの「マクロを保存する」の手順以降を参考にコードを保存、実行しましょう。

実際に印刷して確認してみるとマクロの設定が反映され、Sheet1がA4サイズ/横方向で印刷されました。
エクセルのマクロを使って連続印刷する方法

上の画像はマクロを使って連続印刷したものです。
以下の記事では、エクセルのマクロを使って連続印刷する方法をご紹介します。
エクセルファイルの全シートを連続印刷する場合や、同じシートを複数回連続印刷する場合についてご説明しています。
連続印刷が必要な場面で、エクセルのマクロを活用して効率的に作業を進めましょう。
ExcelのVBAで印刷範囲を設定する方法

上の画像のように赤枠を印刷範囲として設定し印刷したい場合、VBAで設定することができます。
ExcelのVBAで印刷範囲を設定できると、効率的で正確なデータ出力が可能になります。
以下の記事では、ExcelのVBAで印刷範囲を設定する方法をご紹介しています。
毎回印刷範囲を設定する必要がなくなるので、たくさんのシートを印刷するときなどに大変便利です。
エクセルからエクセルの差し込み印刷をマクロで行う方法

上の画像はマクロで氏名と連番を同じフォームのシートに差し込み、連続印刷した例です。
以下の記事では、エクセルからエクセルの差し込み印刷をマクロで行う方法をご紹介します。
差し込み印刷は、特定のデータを元にして複数の文書を一括で作成できるため大変効率的です。
具体的なコード例もご紹介していますので、マクロ初心者の方もすぐ実践できる内容です。