1. まとめトップ

EXCELで仕事がはかどる VBAを使った簡単差込印刷(╹◡╹)

使ってみるととっても便利、VBA機能を使った簡単連続印刷です。「はがき」「棚卸表」「手紙」等、リストを元に印刷する応用範囲が広く使うことができます。(差し込み印刷みたいな機能)

更新日: 2016年09月18日

mayas6_6さん

  • このまとめをはてなブックマークに追加
51 お気に入り 331443 view
お気に入り追加

エクセルデータで作成したリストを元に、エクセルで差し込み印刷がしたい!

普通はワードでひな形を作成し、エクセルで作成したリストを「差込印刷」機能を使って印刷します。これをもっと簡単に、エクセルだけで印刷する方法がこの「エクセルで差込印刷」です。連続印刷をするために簡単なVBAを利用しますが、マクロが使える方なら十分作成可能です。

まず、リストを作成します。

サンプルでは「棚卸票」を作ります。
エクセルを新規作成し、「データ」と「棚札」シートを
作成して、データシートに印刷したい項目を入力しておきます。
※このシートの「A列」にある、棚卸票番号というのが、VLOOKUPの検索値と一致する値になります。また、自動印刷時に設定する開始ページ数というのもこの番号を使用しています。

印刷用のひな形を作成します。

先に作っておいた、棚札シートに棚卸票のひな形を作成します。ここで重要なのは、VLOOKUP関数を使ってデータシートからデータを取得するため、キーになるコードを必ず表示してください。

印刷用ひな形に計算式を入力します。

① =VLOOKUP($E$4,データ!$A$2:$I$150,2,1)
② =VLOOKUP($E$4,データ!$A$2:$I$150,8,0)
③ =VLOOKUP($E$4,データ!$A$2:$I$150,7,0)
④~⑦ すべてVLOOKUP関数が入ります。

データは最初に作成した「データ」シートから
参照させています。

検索値 = 印刷番号が入るセル(今回はE4)
範囲  = データシートの該当する範囲
列番号 = データシートの表示させたい列番号
検索方法 = 0

※さらに詳しい説明が必要な場合は、VLOOKUP関数のまとめを探してみてください。

ついにここから、VBAを使いますヾ(๑╹◡╹)ノ"

名前は全部デフォルトにしてます。
オブジェクト名 = UF1
開始ページ数の枠 = TB1
終了ページ数の枠 = TB2

※ユーザーフォームの説明が必要な場合は、まとめを探してみてください(´ρ`)..

先に作ったユーザーフォームの「TB1」に入力された値から「TB2」に入力された数字までを繰り返し印刷実行するという内容です。

Dim 番号 As Integer を使うと印刷する数字(30,000を超えるような値)を実行するとオーバーフローのエラーが出ました。

その場合は、 As long にすると回避できます。

ユーザーフォームを表示するために必要ということで・・・

マクロボタンを押すと、印刷ページ設定ダイアログが画面上に出てくるので、開始ページ数と終了ページ数を入力して、印刷開始ボタンを押すと、自動で印刷が開始されます。※「棚札」シートで最初にページ設定をして試し印刷を1枚したのち、実行することをおすすめします。

棚卸票以外にも、フォーマットを変えればハガキ・請求書等用途がたくさんあるかも?差し込み印刷の機能はワードを使えばもちろん簡単ですが、人に説明して実行してもらうのは意外と大変なんです。(パソコンが苦手な人は特に・・・)そんな人の為に、エクセルだけで完結する差し込み印刷を作ってみました。

1





気になるのは、株・サメ・EXCEL(╹◡╹)