この記事では、EXCELで差込印刷する方法について説明します。
差込印刷とは、年賀状の宛名書きをイメージしてもらえるとわかりやすいです。
決まったレイアウト(はがき)に送りたい人それぞれの郵便番号、住所、氏名を書き込みます。
この差込印刷をするには、以下の3つを用意する必要があります。
- 印刷する人の情報一覧
- 決まったレイアウト
- VBA(差込印刷する機能を作成する必要があります。)
それでは、EXCELで差込印刷を作成していきましょう。
困っている女性
解決する男性
困っている女性
解決する男性
困っている女性
◆他のEXCEL差込印刷の記事は、以下から参照してください。
【EXCEL:VBA】差込印刷したい(VBAを変更せずに差込位置を変えたい)
◆似たような機能で、差込PDF作成について以下の記事で説明しています。合わせて、参照してください。
【EXCEL:VBA】差込PDFを作成したい(選択した行のみ)
【EXCEL:VBA】差込PDFを作成したい(VBAを変更せずに差込位置を変えたい)
【EXCEL:VBA】差込PDFを作成したい(VBAを変更せずに差込レイアウトを変えたい)
差込印刷に必要なものを、1つ1つ順番に説明していきます。
もくじ
1.印刷する人の情報一覧を準備する
今回はサンプルとして、「従業員番号」、「氏名」、「生年月日」の3つのデータを利用して差込印刷する方法を説明します。
「差込データ一覧」というシートを作成する
- 「差込データ一覧」という名前のシートを作成します。
- 1行目と4行目に「従業員番号」、「氏名」、「生年月日」のタイトル行を作成する
- 2行目は差込印刷で利用する行となります。上記の画面では値を説明のために入力していますが、空でOKです。
- 5行目から好きなだけ、従業員情報を入力します。
2.決まったレイアウトを準備する
今回はサンプルとして、「従業員番号」、「氏名」、「生年月日」を差し込むレイアウトを作成しました。
差込印刷するレイアウトを作成する
- 「ひな形」という名前のシートを作成します。
- 5行目にタイトル行を作成します。今回のサンプルでは、従業員番号」、「氏名」、「生年月日」になります。
- 6行目には、差込する値を表示する欄を用意します。
参照するセルを指定する
セルB6に「差込データ一覧」シートのセルA2を指定します。
セルC6に「差込データ一覧」シートのセルB2を指定します。
セルD6に「差込データ一覧」シートのセルC2を指定します。
3.VBAで差込印刷する機能を作成する
「Microsoft Visual Basic for Applications」を起動します。
標準モジュールを追加して、以下のソースを書きます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
'メイン処理 Public Sub MainProc() Dim strNo As String With ThisWorkbook.Sheets("差込データ一覧") Do While True '従業員番号を保存 strNo = .Range("A5") '従業員番号が空なら、ループを抜ける If strNo = "" Then Exit Do 'A5:C5をコピーし、A2:C2に貼り付け .Range("A5:C5").Copy .Range("A2:C2") '5行目を削除する(上にセルを上げる) .Range("A5:C5").Delete xlShiftUp 'ひな形シートを印刷する ThisWorkbook.Sheets("ひな形").PrintOut Loop 'A2:C2セルを空にする .Range("A2:C2") = "" End With MsgBox "完了" End Sub |
最後にEXCELを「◯◯◯.xlsm」というような感じでマクロ有効ブック形式で保存します。
4.差込印刷の動かし方
それでは、差込印刷の動かし方を説明します。
「開発」タブの「マクロ」をクリックします。
先程作成した自作関数「MainProc」が一覧に表示されていますので、選択します。
次に、「実行」ボタンをクリックして差込印刷を実行します。
しばらく待つと、3枚の差込印刷物が作成されます。
うまく動きましたか?
次は、あなたの好きな印刷レイアウトに好きな情報を用意して、差込印刷をしてみましょう。
以上です。