✏️はじめに
印刷作業、毎回手間かかっていませんか?
たとえば、毎月の請求書や注文書など、「同じフォーマット」で「データだけが違う」ものを何枚も印刷する作業。1件ずつ開いて、確認して、印刷…繰り返すのは正直つらい。

美俊
ファイル、印刷を何度も何度もクリックするの、面倒なんだよな。
そんな時に便利なのが「マクロ(VBA)」!
一度作れば、クリック1回で印刷完了。業務の時短に効果バツグンです。
🛠️このマクロでできること
- シート一覧を一括印刷
→ ファイル内にある全シートを自動で順番に印刷します。 - ひな形へのデータ抽出を変数で行い、抽出データごとに印刷
→ 1つのテンプレートに、データを差し込みながら連続印刷。例えば「名前」「日付」「金額」などを毎回変えて印刷したい時に最適です。
基本のマクロコード(全シート印刷)
Sub PrintAllSheets()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.PrintOut
Next ws
End Sub
このコードは、現在開いているExcelファイルのすべてのシートを一括で印刷します。
部署別資料、月別シートなど、シートが分かれているケースでは非常に便利!
応用:データ抽出+ひな形で連続印刷
Sub PrintByData()
Dim i As Long
Dim lastRow As Long
lastRow = Sheets("データ").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow
Sheets("ひな形").Range("B2").Value = Sheets("データ").Cells(i, 1).Value
Sheets("ひな形").PrintOut
Next i
End Sub
このマクロでは、「データ」シートのA列にある内容を、「ひな形」シートの指定セル(ここではB2)に1件ずつ差し込みながら印刷しています。
たとえば…
- A列:顧客名
- B2セル:印刷する顧客名の場所
のように設定すれば、1つのフォーマットに顧客名だけを差し替えて連続印刷することができます。
🧩まとめ
- 印刷作業はマクロ化することで大幅に時短できます。
- ひな形+変数の組み合わせで「柔軟な印刷自動化」が可能に!
- あなたの現場に合わせて、範囲や内容をカスタマイズして使ってみてください。
🗣️最後に
マクロで時短したいことは何ですか?
「こんな作業も自動化したい」というアイデアがあれば、ぜひコメントで教えてください!
コメント