Excel VBA 改ページを設定する

スポンサーリンク
スポンサーリンク

改ページを設定する方法

改ページを設定するには
以下のプロパティかメソッドを使用します。

  • RangeオブジェクトのPageBreak【ページブレーク】 プロパティ
    指定したセルの上に水平、左に垂直の改ページを設定します。
  • HPageBreaks【エイチページブレークス】コレクションのAddメソッド
    指定したセルの上に水平な改ページを設定します。
  • VPageBreaks【ブイページブレークス】コレクションのAddメソッド
    指定したセルの左に垂直な改ページを設定します。

改ページを解除する方法

改ページを解除するには
以下のプロパティかメソッドを使用します。

  • RangeオブジェクトのPageBreak【ページブレーク】 プロパティ
    指定したセルの上の水平、左の垂直の改ページを解除します。
  • WorkSheetオブジェクトのResetAllPageBreaks【リセットオールページブレークス】メソッド
    ワークシート上のすべての改ページを解除します。

以上のプロパティやメソッドについての解説をします。

PageBreak【ページブレーク】 プロパティ

指定したセル範囲に改ページを設定するには
Rangeオブジェクトの
PageBreak【ページブレーク】 プロパティを使用します。
Break【ブレーク】切断するという意味があります。

PageBreak【ページブレーク】 プロパティ

オブジェクト.PageBreak = 設定値


  • オブジェクト(必須)
    改ページを設定するRangeオブジェクトを指定します。
    選択したセルの上に水平、左に垂直の改ページが設定されます。
    改ページが設定できないセルや行、列
    (A1セル、Rows(1)、Columns(1))を設定した場合はエラーになります。
  • 設定値(必須)
    改ページの挿入方法をXlPageBreak 列挙型の定数で指定します。
XlPageBreak 列挙型の定数
定数内容
xlPageBreakManual改ページは手動で挿入されます。
指定した位置にする場合に指定します。
xlPageBreakNoneワークシートに改ページは挿入されません。
改ページを解除する場合に指定します。
xlPageBreakAutomaticExcel が自動的に改ページを追加します。

E10セルを基準に改ページを設定するコード例

Sub 改ページ()
ActiveSheet.Range("E10").PageBreak = xlPageBreakManual
End Sub

実行結果

データ範囲に5行おきに改ページを設定するコード例

Sub 改ページ2()
Dim i As Long
Dim 最終行 As Long
最終行 = Cells(Rows.Count, 1).End(xlUp).Row
For i = 6 To 最終行 Step 5
ActiveSheet.Rows(i).PageBreak = xlPageBreakManual
Next i
End Sub

実行結果


※改ページを解除する場合は上記のコード例の場合
PageBreakプロパティの設定値をxlPageBreakNoneに指定します。


HPageBreaks.Addメソッド

水平な改ページを設定するには
HPageBreaks【エイチページブレークス】コレクションの
Add【アド】メソッドを使用します。
HPageBreaksのHはHorizontal【ホリゾンタル】の略で、水平という意味があり
HPageBreaks【エイチページブレークス】コレクションは
ワークシート内のすべての水平な改ページを表すコレクションで
WorksheetオブジェクトのHPageBreaksプロパティを使用して取得します。

HPageBreaks.Addメソッドの書式

オブジェクト.HPageBreaks.Add( Before )


設定値(引数)の設定

  • オブジェクト(必須)
    Worksheetsコレクションまたは、Worksheetオブジェクトを指定します。
  • Before【ビフォア】(必須)
    水平な改ページを挿入したい下側のセル(Rangeオブジェクト)を指定します。

※1シートに挿入できる改ページは1026までです。
1行目のセルや最終セル1048576行を超えた行のセルを指定するとエラーになります。


A10セルの上に水平な改ページを設定するコード例

Sub 改ページ3()
ActiveSheet.HPageBreaks.Add Range("A10")
End Sub

VPageBreaks.Addメソッド

垂直な改ページを設定するには
VPageBreaks【ブイページブレークス】コレクションの
Add【アド】メソッドを使用します。
VPageBreaksのVはVertical【バーティカル】の略で、垂直という意味があります。
VPageBreaks【ブイページブレークス】コレクションは
ワークシート内のすべての垂直な改ページを表すコレクションで
WorksheetオブジェクトのVPageBreaksプロパティを使用して取得します。

VPageBreaks.Addメソッドの書式

オブジェクト.VPageBreaks.Add( Before )


設定値(引数)の設定

  • オブジェクト(必須)
    Worksheetsコレクションまたは、Worksheetオブジェクトを指定します。
  • Before【ビフォア】(必須)
    垂直な改ページを挿入したい左側のセル(Rangeオブジェクト)を指定します。
    1列目のセルを設定した場合はエラーになります。

5列目の左に垂直な改ページを設定するコート例

Sub 改ページ4()
ActiveSheet.VPageBreaks.Add Range("E1")
End Sub

ResetAllPageBreaks【リセットオールページブレークス】メソッド

すべての改ページを解除するには
Worksheetオブジェクトの
ResetAllPageBreaks【リセットオールページブレークス】メソッドを使用します。

ResetAllPageBreaks【リセットオールページブレークス】メソッドの書式

オブジェクト.ResetAllPageBreaks


設定値の説明

  • オブジェクト(必須)
    Worksheetオブジェクトを指定します。

アクティブシートの改ページをすべて解除するコート例

Sub 改ページ解除()
ActiveSheet.ResetAllPageBreaks
End Sub

まとめ

改ページを設定する場合は
PageBreak【ページブレーク】 プロパティが便利に使用できると思います。
また、新たに改ページを設定する場合は
ResetAllPageBreaks【リセットオールページブレークス】メソッドですべての
改ページを解除してから設定することをおすすめします。

PageBreakプロパティとResetAllPageBreaksメソッドを使用したコード例リンク

データ項目の境目に印刷改ページを挿入する


以上で
改ページを設定する方法についての解説を終了します。
ありがとうございました。

スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク