作業をしている中で、リストの内容を各行ごとに用紙に反映させて、すべて印刷したい。そんな状況はよくあると思います。
一枚一枚入力を変更して印刷をかけるのはめっちゃ面倒ですよね。。。
特に件数が多いと、莫大な時間がかかります。
ボタンを押して印刷するNo.を入力するだけで簡単に印刷できるとかなり便利ですよね!
この記事では、VLOOKUP関数とマクロを利用して指定範囲を連続で印刷する方法を、順を追って紹介します!
※筆者は仕事をしながら独学でエクセルを学んでいます。独自の方法である可能性がありますのでご留意ください。
VLOOKUP関数でリストの内容を用紙に反映させる※INDEX・MATCHでも可能
例として、社員リストより社員証を一斉に発行する想定をします。
Sheet1に社員情報を記載します。
A列に通し番号、B列に社員番号、C列に社員名 を記載。

Sheet2にSheet1の情報を反映する社員証を作ります。
D列に通し番号、
C列2行目に下記VLOOKUP関数を記載します。
=VLOOKUP(Sheet2!D1,Sheet1!A:C,2)
検索範囲をSheet1のA列からC列としており、D列通し番号から2列目の社員番号を出力します。
C列3行目に下記VLOOKUP関数を記載します。
=VLOOKUP(Sheet2!D1,Sheet1!A:C,3)
検索範囲をSheet1のA列からC列としており、D列通し番号から3列目の社員名を出力します。
C列3行目に下記VLOOKUP関数を記載します。

ここまではVLOOKUP関数を理解していればできるかなというところです。
難しい方は下記参照ください。
次からマクロを作成します。
Excel(エクセル)の設定からマクロを有効にする
マクロを作成・使用するにはExcel(エクセル)の設定からマクロを有効にする必要があります。
設定方法は下記を参照ください。
連続印刷マクロを作成する
ボタンを押すと連続印刷されるようにしたいのでまずはボタンを作成しましょう!
Sheet2で開発タブ→挿入→ボタンを選択しましょう。

下記のような画面になるので新規作成をクリック!

コードを記載する画面になるので、下記コードを入力
ボタンを押すとこれから作成するユーザーフォームが表示されるようにします。
Sub ボタン1_Click()
UserForm1.Show
End Sub

続いて通し番号〇から〇まで印刷したいなどあるかと思いますので、〇ページから〇ページを入力するフォームを作成します。
挿入→ユーザーフォームをクリック!

ユーザーフォームでは下記黄色マーカーを付けている「ラベル」「テキストボックス」「コマンドボタン」を駆使して下記のようなフォームを作成します。

コマンドボタンを右クリックにて「コードの表示」を選択

下記のコードを入力してください
フォームの「印刷開始」に最初の通し番号、印刷終了に終わりの通し番号を入力して印刷開始ボタンを押すと順番にD1セルに通し番号を当てはめて印刷してくれるコードとなります。
Private Sub CommandButton1_Click()
Dim 番号 As Integer
a = TextBox1.Value
n = TextBox2.Value
For 番号 = a To n
Sheets("Sheet2").Range("D1").Value = 番号
Sheets("Sheet2").PrintOut
Next 番号
Unload Me
End Sub
以上で完成です!!
マクロ有効ブックで保存しましょう!

実際に連続印刷してみましょう!
完成したエクセルで実際に連続印刷を試してみましょう!

ボタンを押すとユーザーフォームが表示され、「印刷開始」「印刷終了」に任意の数字を入力し、印刷開始ボタンを押してみましょう!
とっても簡単に作業できるようになったと思います!
細かく書いたつもりですが、詳細記載希望でしたら問い合わせよりご連絡いただけますと幸いです。
引き続き便利なマクロや、はたまた投資関連までご紹介していますので他の記事も見てみてください!
Excel(エクセル)マクロ勉強方法
このようなマクロを独学で学ぶと結構時間がかかるものです。
せめて本で勉強することをお勧めします。
下記とても参考になりますので安いものなので是非購入ください!
コメント