・毎回同じ印刷設定を手作業でやるのが面倒・・・
・特定のシートだけをすぐに印刷できるようにしたい!
Excelマクロを使えば、そんな悩みを解消したり思いを実現することができます。この記事では、初心者でもできる印刷マクロの作り方から、ボタンひとつで印刷する方法まで丁寧に解説します。
そもそも「マクロ」とは?
マクロとは、Excelで行う操作(クリック・入力・印刷など)を自動で実行してくれる機能のことです。VBA(Visual Basic for Applications)というプログラミング言語を使って動いていますが、「マクロの記録」という記録機能を使えばコードについて知識がなくてもマクロを組むことができます。
マクロを使えばたとえば、
- 特定のシートを印刷
- 印刷範囲を設定して印刷
- 印刷前にプレビューを表示
などの作業を、ボタンひとつで一括実行できるようになります。

Excelマクロで印刷する基本のコード
印刷に関連するマクロについて、実際のVBAコードがどのようになるか、いくつか見ていきます。
まずは、「アクティブシートを印刷する」マクロについては下記のようになります。
Sub 印刷する()
ActiveSheet.PrintOut
End Sub
このコードは、今開いているシート(=アクティブシート)をそのまま印刷するものです。
設定を変更したい場合は、以下のような引数をつけ加えることも可能です。
ActiveSheet.PrintOut Preview:=True, Copies:=1, Collate:=True
Preview:=True
:印刷プレビューを表示Copies:=1
:印刷部数Collate:=True
:複数ページの印刷順を指定
特定のシートを自動印刷するマクロ
たとえば「請求書」という名前のシートを毎月印刷する場合、以下のようなマクロが便利です。
Sub 請求書印刷()
Sheets("請求書").PrintOut
End Sub
シート名を直接指定することで、開いていなくても自動で印刷できます。
ボタン化するとさらに便利です!(ボタンを作る手順は後ほど説明しています)

印刷範囲を設定して印刷する
マクロでは、印刷範囲(印刷タイトルや改ページなど)も指定可能です。
Sub 範囲を設定して印刷()
With Sheets("請求書").PageSetup
.PrintArea = "A1:P13" ' 印刷範囲
.Orientation = xlPortrait ' 縦方向
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Sheets("請求書").PrintOut
End Sub
これにより、見やすく整ったレイアウトで印刷されるようになります。
ボタンで印刷できるようにする方法
コードが書けたら次は「ボタンで実行」できるようにして業務効率をさらにUPさせましょう。
① 「開発」タブを表示する
- Excelの「ファイル」タブ→「オプション」

2. 「リボンのユーザー設定」から「開発」タブにチェックを入れる

「開発」タブの設定方法については下記の記事でも詳しく説明しているので、参考にしてみてください。
② ボタンを設置する
次に、ボタンを設置する方法です。
- 開発タブの「挿入」→「フォームコントロール」→「ボタン(フォームコントロール)」

2.シート上でボタンをドラッグして配置

3. 表示された「マクロの登録」画面で作成したマクロを選択してOK

これで、ボタン1つで印刷が実行されるようになります!
よくある質問(Q&A)
Q. 印刷時にページ設定も一緒に反映されますか?
A. PageSetup
の設定を事前に書いておけば、印刷範囲・余白・方向などすべて自動化できます。
Q. マクロの保存形式は?
A. マクロが含まれるファイルは、「Excelマクロ有効ブック(.xlsm)」で保存しましょう。普通の.xlsx形式ではマクロが使えません。

Q. 「マクロが無効になっています」と表示されたら?
A. ファイルを右クリック → プロパティ → 「全般」タブ → 「許可する」にチェックしてから開いてください。
実務で使える印刷マクロの活用例
説明したようにマクロを作ることで、例えば下記のような例で活用することができます。
- 毎月の請求書を一括印刷
- 営業レポートの印刷自動化
- 会議資料の印刷範囲固定+一括出力
Excelで定型的な印刷作業が多い業務では、マクロを取り入れることで驚くほど作業時間を短縮できます。数時間かかっていた作業が10分で終わる、なんてことも普通に実現できます。
まとめ:マクロで「印刷作業」を自動化しよう
「印刷するだけでマクロなんて大げさじゃない?」と思うかもしれません。でも実際は、月1回・週1回の印刷でも、積もれば大きな作業負担です。
- マクロで印刷を自動化
- シートや範囲の指定も自由自在
- ボタンをつけて誰でも実行可能に
業務効率化の第一歩として、まずは印刷マクロから取り入れてみてはいかがでしょうか?