[Sheet1] [Sheet2]
A B C A B C D
1 氏名 年齢 身長 1 表示No. ↓この下あたりから印刷
2 東京太郎 30 _178 2 1 東京太郎 様
3 埼玉花子 20 _150 3 あなたの年齢は 30歳
4 千葉次郎 25 _165 4 身長は 178cm です
上のようなSheet1の各行をSheet2のカタチで連続印刷してみます。
●Sheet1のA2:C4に範囲名『DATA』を付けます(分かりやすくするためです)
●Sheet2は、A2を表示用のカウンタとし、C2、D3、D4に式を書きます。(例です)
Sheet2のC2を左上にした印刷範囲を設定します。
Sheet2の式は、
C2 =INDEX(DATA,A2,1) & " 様"
D3 ="あなたの年齢は "&INDEX(DATA,A2,2) &"歳"
D4 ="身長は " &INDEX(DATA,A2,3)&"cm です"
このようにセル参照をIndex関数を使って書いていきます。当然、計算や判定もできます。
計算や判定ができるので差込印刷機能よりも便利な場合が多々あります。(ケースバイケースですが)
この時点で、A2を1→2→3→1 と変えてみてください。この操作をマクロで実行して印刷します。
●ツール→マクロ→Visual Basic Editor でVBE画面に移り、
表示→プロジェクトエクスプローラでプロジェクトエクスプローラを表示します。
プロジェクトエクスプローラのSheet2をダブルクリック。
出てきたコードウインドウに下記マクロをコピーして貼り付けます。
下は3行印刷しています。For~NextでA2セルの値を増やしています。
Sub Insatu()
Dim pgNo As Integer '// ページカウンタ
For pgNo = 1 To 3
Range("A2") = pgNo
'// 今はプレビュー。PrintPreview→PrintOut で印刷
ActiveSheet.PrintPreview
Next
End Sub
●シートに帰り、ツール→マクロ→マクロ で上のマクロを実行します。
お礼
参考にさせていただきます。どうもありがとうございました。