Excel シートの印刷範囲の「ページ区切り」の点線を消したり表示する方法とマクロを紹介します。
シートの印刷範囲の境界の点線を表示したい
セルの枠線の一部に細い点線が入ることがありすね。
これは印刷した時に1枚の紙に収まるセル範囲の境界を示していて、「ページ区切り」と呼ぶようです。
これが表示されるのは、「印刷プレビュー」や「改ページプレビュー」でシートを表示した後に標準表示に戻った時のシートです。
また、「改ページプレビュー」で自分が動かした青いページ区切りも、標準表示の方で(点線ではなく)細い実線で表示されます。
Excel にはなぜかこのページ区切りの表示/非表示を切り替えるコマンドが用意されていません。
Excel の機能というより、一種の気を利かせたサービスなのでしょう。
確かにまっさらなシートでページ区切りを表示しておくと、印刷時のレイアウトの目安になって助かることもあります。
一方、控えめで微妙に目立たない点線が一度意識するとかえって気になりはじめ、それもなかなか消えてくれないのでイライラのモトになります。
手作業でページ区切りを表示・非表示するには
ページ区切りを消すには、いったんファイルを閉じて開きなおすしかないようです。
ページ区切りの表示自体を止めたいときには、「オプション」(Alt
⇒ T
⇒ O
)の「詳細設定」タブにある「次のシートで作業する表示設定」⇒「改ページを表示する」のチェックを外します。
この設定はシートごとに指定します。
【手順例】ページ区切りの表示
- 「表示」タブで「ページレイアウト」を選択して、ページレイアウトで表示します
- 「標準」を選択して標準表示します
【手順例】ページ区切りの非表示
- ファイルを保存していったん閉じます
- キー操作:
Ctrl + S
⇒Ctrl + W
- キー操作:
- ファイルを開きなおします
- キー操作:
Alt
⇒F
⇒O
⇒1
(たぶん)
- キー操作:
ページ区切りの表示・非表示を切り替えるマクロ
以下のマクロ VBA はページ区切りの表示状態を切り替えます。
マクロを実行するたびに、ページ区切りの表示と非表示が切り替わります。
切り替え対象に、現在のシートのみと、ファイル内の全シート一括の2つのマクロを用意しました。
Option Explicit Sub ページ区切りの表示切替え() ActiveSheet.DisplayPageBreaks = Not ActiveSheet.DisplayPageBreaks End Sub Sub ページ区切りの表示切替え_全シート() Dim br As Boolean br = Not ActiveSheet.DisplayPageBreaks Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets sh.DisplayPageBreaks = br Next End Sub
【使い方】
- VBA 標準モジュールに上記の VBA ソースをコピー&ペーストします
- マクロを実行します
- ページ区切りの表示状態が切り替わっています。
Windows 10 の Excel 2013 で動作確認をしました。