スポンサーリンク
目次
改ページの位置取得
「HPageBreaks」で、水平方向に引かれた改ページの位置を取得する。
※一番下の改ページ位置は取得されない。これは、改ページという位置付けではなく印刷範囲という扱いになるため。
1 2 3 4 5 6 7 8 9 | Sub 改ページ位置取得() Dim i As Integer For i = 1 To ActiveSheet.HPageBreaks.Count MsgBox ActiveSheet.HPageBreaks(i).Location.Row - 1 Next i End Sub |
一番下の改ページ位置を取得したい場合は以下のコードを組み込むことで取得することが出来る。
1 | MsgBox Range(ActiveSheet.PageSetup.PrintArea).Cells(Range(ActiveSheet.PageSetup.PrintArea).Count).Row |
改ページの設定
「PageBreak 」に、「xlPageBreakManual」を設定することで水平方向に改ページを設定することが出来る。
指定した行の改ページを設定
11行目に改ページを設定する。
※1~10行目が1ページになる
1 2 3 | Sub 行の改ページ設定() ActiveSheet.Rows(11).PageBreak = xlPageBreakManual End Sub |
複数行の改ページを設定
「PageBreak 」で、10行ごとに、改ページを設定する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | Sub 複数の改ページ設定() Dim breakPoint As Integer Dim rowCnt As Integer Dim endBreak As Integer Dim breakCnt As Integer breakPoint = 10 rowCnt = 1 endBreak = Range(ActiveSheet.PageSetup.PrintArea).Cells(Range(ActiveSheet.PageSetup.PrintArea).Count).row breakCnt = endBreak \ breakPoint For i = 1 To breakCnt rowCnt = rowCnt + breakPoint ActiveSheet.Rows(rowCnt).PageBreak = xlPageBreakManual Next i End Sub |
改ページの解除
対象の一行の改ページを解除したい場合は、改ページの設定時に使用した「PageBreak 」に「xlPageBreakNone」を設定することで解除できる。
対象のシート、または全シートの改ページを解除したい場合は、「ResetAllPageBreaks」を実行することで解除できる。
指定した行の改ページを解除
1 2 3 | Sub 行の改ページ解除() ActiveSheet.Rows(11).PageBreak = xlPageBreakNone End Sub |
指定したシートの改ページを解除
1 2 3 | Sub シートの改ページ解除() ActiveSheet.ResetAllPageBreaks End Sub |
全シートの改ページを解除
1 2 3 4 5 6 7 | Sub 全シートの改ページ解除() Dim i As Integer For i = 1 To Worksheets.Count Worksheets(i).ResetAllPageBreaks Next i End Sub |
ABOUT ME
スポンサーリンク