| 
    
     |  | PON さん、おはようございます。 
 >*1枚に印刷できるデータは4件です。
 >*「印刷用データ」に抽出されて出てきたデータが4件以上になった場合も、様式を初期化(空白)にして続けて差し込み印刷したいです。
 
 >「印刷用データ」には↓のようにデータが入っています。A列の番号は連続していません。
 >   A  B   C   D   E
 >1] 番号 名前 日付 用務 時間
 >2] 3  あ  い  う  え
 >3] 5  か  き  く  け
 >4] 6  さ  し  す  せ
 >5] 9  た  ち  つ  て
 >
 >差し込み印刷したい様式は↓でA11、A19、A27、A35に印刷用データのA列の番号が入れば他の項目はVLOOKUP関数で表示されるようになっています。
 
 A列のセルの値は不連続でも行番号は連続のようですので、4つ飛ばすごとに印刷するようにしました。
 
 Sub test()
 Dim ws(1 To 2) As Worksheet, RR&, Rpos&, NN&
 'このマクロのブックが対象です
 With ThisWorkbook
 Set ws(1) = .Worksheets("Sheet1") 'リストのシートをセット
 Set ws(2) = .Worksheets("Sheet2") '印刷するシートをセット
 End With
 '
 '最下行計算(そこまでは連続で入ってるとして処理します)
 With ws(1)
 Rmax = .Cells(.Rows.Count, "A").End(xlUp).Row
 End With
 For RR& = 2 To Rmax
 NN& = (RR& - 2) Mod 4 + 1 '1,2,3,4
 '11,19,27,35 →3に8ずつ足していけばいい
 ws(2).Cells(NN& * 8 + 3, "A").Value = ws(1).Cells(RR&, "A").Value
 If NN& = 4 Or RR& = Rmax Then
 If NN& < 4 Then
 '最下行の場合は入っていないセルがあればクリアして印刷
 For II& = NN& + 1 To 4
 ws(2).Cells(II& * 8 + 3, "A").ClearContents
 Next
 End If
 Application.Calculate '念のため再計算
 ws(2).PrintOut from:=1, To:=1, copies:=1 '印刷
 End If
 Next
 '終了
 Erase ws
 End Sub
 
 こんな感じです。
 
 |  |