- ベストアンサー
エクセルの改ページを行ごとに自動挿入するには?
1000行以上ある表に対して50行ごとに改ページ したいのですが、行の幅が微妙にまちまちなので 46~53行の間で微妙にずれてしまいます。 任意の固定された行数で改ページを一気に自動挿入 する方法があれば教えてください。今は改ページプレ ビューを見て微調整をして微妙なズレを直しています。
- みんなの回答 (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 '--------------------------------------
その他の回答 (1)
- misatoanna
- ベストアンサー率58% (528/896)
> 固定された行数で改ページを一気に自動挿入する方法 これだけでしたら、マクロで50行ごとに改ページを挿入すればよいと思いますが、 > 行の幅が微妙にまちまちなので46~53行の間で微妙にずれてしまいます。 > 今は改ページプレビューを見て微調整をして微妙なズレを直しています。 ということは、単純に50行単位で改ページすると、中には1ページに収まらない 50行があるので、行高の調整も併せて行ないたいということなのでしょうか。
お礼
回答ありがとうございました。
お礼
回答ありがとうございました。