黄色マーカーの文書みたいに
会社名とか氏名とかだけ変えて、あとは同じ内容でいい時。
ブイルックアップ関数とマクロを組み合わせて
開始番号と
終了番号を指定して
連続でシートを作成するマクロ。
下準備
①個別情報が入ったリストを用意する
②それぞれの文書で個別に変更したい箇所に、ブイルックアップ関数を使って個別情報を飛ばす。
検索値は文書の欄外に設定する。
※ここでは、文書の欄外のF1(水色マーカー部分)を検索値とした。
③検索値を変更すると個別情報が入れ替わることを確認する。
コード
Sub ブイルック連続シート作成() Dim i As Long Dim start As Long Dim last As Long 'シートコピー開始番号取得 start = InputBox("最初の番号を入力してください") 'シートコピー終了番号取得 last = InputBox("最後の番号を入力してください") '繰り返し処理 For i = start To last 'アクティブシートを最後尾にコピー ActiveSheet.Copy after:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count) '変数を代入 'F1がブイルックアップの検索値の場合 Range("F1") = i 'シートの名前を変更 'A5の値にしたい場合 ActiveSheet.Name = Range("A5") Next i MsgBox "シートコピー完了" End Sub
注意点
- 検索値【F1】は自分が検索値として設定したセルに変更する。
- 印刷したい文書と検索値は同じシートにする。
- 印刷したいシートをアクティブにしてマクロをスタートする。
- できたシートはブイルックアップされた状態なので、検索値を変更したり、リストを削除すると使えなくなる。
- この後シートを分割する場合などは、値貼り付けをすること。