ExcelVBA 印刷時にページ分割する場所を指定するページ区切りのやり方

 

ExcelVBA「ページ区切り」は、印刷時にページを分割する場所を指定する機能です。ExcelVBAを使うことで、手動では難しい大規模なページ区切りの設定を簡単に自動化できます。使い方や注意点など、サンプルコードをもとに具体的に解説します。

 

📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!

👇実務で“そのまま使える”テンプレ付きで、コピペするだけ
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き

 

Excel VBA 印刷時のページ区切りシーン

以下のようなシーンで利用で表示します。

1.印刷レイアウトの調整
データが見やすいようにページを分割

2.特定範囲のページ分け
大量のデータを効率よく印刷するためにページを整理

3.印刷時のトラブル防止
ページ途中で表が切れるのを防ぐ。

Excel VBA 印刷時のページ区切り|使い方とポイント

使い方

以下の方法でページ区切りを操作します

1.水平ページ区切りの設定
HPageBreaks を使用

2.垂直ページ区切りの設定
VPageBreaks を使用

ポイント

1.正しい範囲の指定
範囲が適切でないとエラーが発生

2.既存の区切りの削除
自動的に挿入された区切りをリセットしたい場合は手動で削除が必要

3.処理の適用範囲
大きなデータでは計算量が増え、動作が遅くなる可能性

 

Excel VBA  印刷時のページ区切りのサンプルコード

水平ページ区切りを追加。特定の行でページを分割します。

Option Explicit

Sub AddHorizontalPageBreak()
    ' シートを指定
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' 5行目に水平ページ区切りを追加
    ws.HPageBreaks.Add Before:=ws.Rows(5)
End Sub

 

自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。

👉無料ExcelVBAベーシック選択問題138問

 

垂直ページ区切りを追加。特定の列でページを分割します。

Option Explicit

Sub AddVerticalPageBreak()
    ' シートを指定
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' C列に垂直ページ区切りを追加
    ws.VPageBreaks.Add Before:=ws.Columns(3)
End Sub

既存のすべてのページ区切りを削除する。ページ区切りをリセットする方法です。

Option Explicit

Sub RemoveAllPageBreaks()
    ' シートを指定
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' すべての水平ページ区切りを削除
    Do While ws.HPageBreaks.Count > 0
        ws.HPageBreaks(1).Delete
    Loop
    
    ' すべての垂直ページ区切りを削除
    Do While ws.VPageBreaks.Count > 0
        ws.VPageBreaks(1).Delete
    Loop
End Sub

ページ設定と組み合わせる。ページサイズや印刷範囲と一緒に設定

Option Explicit

Sub SetupPageWithBreaks()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' 印刷範囲を設定
    ws.PageSetup.PrintArea = "$A$1:$D$50"
    
    ' ページ区切りを追加
    ws.HPageBreaks.Add Before:=ws.Rows(25)
    ws.VPageBreaks.Add Before:=ws.Columns(3)
End Sub

ページ区切りを適切に設定すると、印刷時のレイアウトが見やすく整い、データが途中で途切れる問題を防げます。VBAを使えば、大量のデータでも効率よくページ分けを自動化可能です。

 

Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。

👉無料ExcelVBAベーシック選択問題138問