ブイルックアップを使って同じ書式に個別情報を代入しながら指定した番号だけ印刷するマクロ


黄色マーカーの文書みたいに

会社名とか氏名とかだけ変えて、あとは同じ内容でいい時。
ブイルックアップ関数とマクロを組み合わせて任意の番号だけ印刷するマクロ。
ワードの差し込み印刷でもいいんだけど、エクセルだけでやりたいとき用。
連続印刷ではなく、飛び飛びの指定した番号だけ印刷したい場合。

下準備


①個別情報が入ったリストを用意する

②それぞれの文書で個別に変更したい箇所に、ブイルックアップ関数を使って個別情報を飛ばす。
検索値は文書の欄外に設定する。
※ここでは、文書の欄外のF1(水色マーカー部分)を検索値とした。

③検索値を変更すると個別情報が入れ替わることを確認する。

④印刷したい個別情報の番号(検索値に入れたい番号)を文書の欄外に入力する。
※ここでは、H2以下に入力した。

コード

Sub ブイルック指定番号印刷()
    Dim i As Long
    Dim start As Long
    Dim last As Long
    
    '印刷開始番号が入力された行数を指定
    start = 2
    
    '印刷終了番号が入力された行数を取得
    'H2に入力している場合
    last = Range("H2").CurrentRegion.Rows.Count
    
        '繰り返し処理
        For i = start To last
    
            'F1がブイルックアップの検索値、H列に印刷番号入力の場合
            Range("F1") = Cells(i, "H")
            ActiveSheet.PrintOut
        Next i
    
    MsgBox "印刷完了"
    
End Sub

注意点

  • 検索値【F1】、印刷番号列【H】は自分が検索値として設定したセルに変更する。
  • 印刷したい文書と検索値、印刷番号は同じシートにする。
  • 印刷したいシートをアクティブにしてマクロをスタートする。