• ベストアンサー

エクセルの改ページを行ごとに自動挿入するには?

1000行以上ある表に対して50行ごとに改ページ したいのですが、行の幅が微妙にまちまちなので 46~53行の間で微妙にずれてしまいます。 任意の固定された行数で改ページを一気に自動挿入 する方法があれば教えてください。今は改ページプレ ビューを見て微調整をして微妙なズレを直しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

#1 のmisatoannaさんの内容にかぶってしまいますが、 >行の幅が微妙にまちまちなので46~53行の間で微妙にずれてしまいます。 50行以上に「自動改ページ」がつけられる場合はよいのですが、それ以下の場合は、「手動改ページ」を入れると、2行なり3行だけのページが出来てしまいますが、それでも良いのですか?2つのマクロがあります。 1つは、手動改ページを入れるマクロで、もう1つは、それが正しく入っているか調べるマクロです。 '-------------------------------------- Sub PageBreak_enter() '手動改ページを入れるマクロ Dim Rng As Range, i As Long With ActiveSheet 'マクロを実行する前に、なるべく、印刷範囲はユーザーで設定してください。  If .PageSetup.PrintArea = "" Then    .PageSetup.PrintArea = .UsedRange.Address End If   .ResetAllPageBreaks Set Rng = Range(.PageSetup.PrintArea) For i = 50 To Rng.Rows.Count Step 50    .Cells(i + 1, "A").PageBreak = xlPageBreakManual Next i End With  Set Rng = Nothing End Sub '-------------------------------------- Sub CheckMPageBreak() '正しく、50行目に改ページが入っているか調べるマクロ Dim TotalPage As Integer Dim p As Long Dim i As Integer  TotalPage = Application.ExecuteExcel4Macro("COLUMNS(GET.DOCUMENT(64))") For i = 1 To TotalPage - 1  p = Application.ExecuteExcel4Macro("INDEX(GET.DOCUMENT(64),1, " & i & ")")  If p Mod 50 <> 1 Then    MsgBox p & " ページ目が、違います。", 64  End If Next i End Sub '--------------------------------------

matrix256
質問者

お礼

回答ありがとうございました。

その他の回答 (1)

回答No.1

> 固定された行数で改ページを一気に自動挿入する方法 これだけでしたら、マクロで50行ごとに改ページを挿入すればよいと思いますが、 > 行の幅が微妙にまちまちなので46~53行の間で微妙にずれてしまいます。 > 今は改ページプレビューを見て微調整をして微妙なズレを直しています。 ということは、単純に50行単位で改ページすると、中には1ページに収まらない 50行があるので、行高の調整も併せて行ないたいということなのでしょうか。

matrix256
質問者

お礼

回答ありがとうございました。

関連するQ&A