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

 

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

 

日常業務でExcelを多用し、手動作業を減らしたいと考えている方へ
本サイト参考:Excel VBAで自動化するコードのベースを習得したい方におすすめの記事

 

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

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

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

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

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

使い方

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

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

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

ポイント

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

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

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

 

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

基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事

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

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エキスパート」をご確認ください。