VBAで考えて見ました。
ポイントは例えば、
(1)A1:G35を第1ページとし、本来は第2ページに当たるA36:G70を、ワークシート表上の右部分H1:N35にコピーする。
そしてVBAからA1:N35の範囲の印刷起動をかける。
(2)35*2のサイクルで(1)を繰り返す。
(3)ページ数は、左フッターに1と2、3と4・・を
印刷する都度VBAでセットして印刷する。左第1ページと右第2ページの数字印字位置を上手くスペースをいれて、調節する必要があると思い空白列にする。
(4)左余白と表のA1:G30とH1:N35(コピー後で)をバランス良く調節するために、H列は空白列とし、列幅を調節し、I1:O35へコピーすべきかもしれない。
(5)A4横の設定は必須。
(6)フォントサイズや列幅で影響を受けるので、初めは
手探りで調節する必要あり。これが手間がかかる。
行数が少なければ、手作業でコピーしフータを手動で
セットの方が早いかもしれない。
コーディング例を上げます。
=============
Sub test01()
'列は何列までデータがあるか。H列なら8。7はG列
retu = 7
' 1ページは何行か。35行とする
gyou = 35
'スタート行は第1行とする。
sgyou = 1
pageno = 1
Worksheets("sheet1").Activate
d = Range("A2").CurrentRegion.Rows.Count
MsgBox d
'--------
p = gyou * 2
For i = sgyou To d Step p
Range(Cells(i + gyou, 1), Cells(i + gyou * 2 - 1, retu)).Copy
'第retu列+1列は空白で空ける。本ケースではH列。
Cells(i, retu + 2).Select
ActiveSheet.Paste
'----フーターのページ数設定
s = Space(50) & Str(pageno) & Space(130) & Str(pageno + 1)
ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
.CenterFooter = ""
.LeftFooter = s
End With
'------印刷
Range(Cells(i, 1), Cells(i + gyou - 1, retu * 2 + 1)).PrintOut
'----ページ数+2と右側の範囲クリア
pageno = pageno + 2
Range(Cells(i, retu + 1), Cells(i + gyou, retu * 2 + 1)).Clear
Next i
'--------
End Sub
お礼
結局、プリンタドライバが古いために うまく動作しなかったようです。 ご指摘の通り、エクセルでは集約機能は 感知していないようですね。 微妙に不便ですよね・・・。