#01です。補足ありがとうございました。
印刷する元データの表は分かりました。A列~J列にデータがあるのですね。
印刷シートは1ページの印刷シートに生徒5名分のデータが印刷されるという解釈でよろしいでしょうか
また、
>1)氏名:A2、国語:B2、数学:C3…順位:J3
の氏名:A2、国語:B2はA3、B3ですね。
以下のマクロをALT+F11でVBE画面を開き、「VBAProjectエクスプローラのシート名右クリック」→「挿入」→「標準モジュール」で表示される画面にペーストして下さい。実行はシート画面に戻って、ALT+F8を押してマクロ一覧からマクロ名を選択して実行します。
シート名は3、4行目を実際のシート名に変更してから実行してください。
Sub Macro1()
Dim LastR, idx, ptr, cntPage As Integer
Const orgSheet As String = "元データ"
Const prnSheet As String = "印刷シート"
LastR = Worksheets(orgSheet).Range("A65536").End(xlUp).Row
For idx = 2 To LastR Step 5
For ptr = 0 To 4
Worksheets(prnSheet).Cells(3, 1).Offset(ptr * 3, 0).Resize(1, 10).Value _
= Worksheets(orgSheet).Cells(idx, 1).Offset(ptr, 0).Resize(1, 10).Value
Next ptr
cntPage = cntPage + 1
Worksheets(prnSheet).PageSetup.CenterFooter = cntPage
Worksheets(prnSheet).PrintOut copies:=1
Next idx
Worksheets(prnSheet).PageSetup.CenterFooter = ""
End Sub
お礼
ありがとうございました。 VBAを学習しようと思います。