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

 

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

 

「VBAスキルを証明できれば、社内評価アップにつながるかもしれません
👉 VBAを学んで社内評価を上げる方法はこちら

 

 

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

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

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

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

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

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

使い方

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

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

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

ポイント

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

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

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

 

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

「VBAスキルを証明できれば、社内評価アップにつながるかもしれません
👉 VBAを学んで社内評価を上げる方法はこちら

 

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

Option Explicit

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

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

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で自動化するコードのベースを習得したい方におすすめ!

VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。

 

Excel  VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。

 

「VBAスキルを証明できれば、社内評価アップにつながるかもしれません