| 
    
     |  | ▼まこと さん: 
 >最初の改ページの行を間違えておりました。51ではなく55の間違いでした。
 
 改ページの行を変数にしましたので、自由に対応出来ると思います。
 
 >Range("D" & (3)) = 1 と3を()でくくる意味は何なんでしょう?
 >お時間があるときで全然結構ですのでまた教えていただければ幸いです。
 
 すみません。修正するのが面倒だっただけです。
 (本当は以前から、Range("D3")の数字が""で囲まれている意味が分からなかったので、ちょっと実験してみた残骸です。)
 
 コードが複雑になってしまい、私も後からは理解できないと思うのですが、ぴったり区切り良く、(データがないのにページ数が記入されないように)するために、こうなりました。
 
 Sub 改ページ100()
 Dim i, n, m, no, no2, st As Long
 
 no = 50 '○行おきに挿入
 no2 = 2 '挿入する行の数
 st = 55 '最初の挿入行位置
 i = Range("A65536").End(xlUp).Row
 
 Range("D3").value = 1
 
 For m = 0 To (i - (st - no + no2)) / (no - no2) - 1
 Rows(st + m * no).Resize(2).Insert Shift:=xlDown
 
 Range("D" & (st + m * no)).value = m + 1
 Rows(4).Copy
 Rows(st + m * no + 1).PasteSpecial
 Excel.Application.CutCopyMode = False
 Next
 
 n = Range("A65536").End(xlUp).Row
 
 For i = st To n Step no
 ActiveSheet.HPageBreaks.Add before:=Cells(i, 1)
 Next i
 
 End Sub
 
 |  |