Excelで各ページの周りに罫線を印刷するにはどうすればよいですか?
数百ページにわたる大規模なワークシートを扱う場合、データを明確でプロフェッショナルな形式で印刷することが重要です。これを行うための一つの方法は、印刷される各ページの周りに罫線を追加し、印刷物が視覚的に区別され、読みやすくすることです。Excelで各ページの内容に対して手動で罫線を選択して適用することもできますが、複数ページを扱う場合には非常に時間がかかり、現実的ではありません。幸いにも、Excelのすべてのページに自動的に罫線を印刷する効率的な解決策があります。この記事では、組み込みオプションと代替アプローチを含むいくつかの実用的な方法について説明します。
➤ グリッドラインの設定で各ページに罫線を印刷
➤ Kutools for Excelを使用してワンクリックで各ページに罫線を印刷

➤ VBAマクロ自動化を使用して各ページに罫線を印刷
グリッドラインの設定で各ページに罫線を印刷
Excelには各印刷ページの周りに罫線を追加する専用のオプションはありませんが、グリッドラインを印刷する機能を使用してページ罫線を模倣することができます。これは迅速であり、アドインは必要ありません。ただし、太いページの輪郭を作成するわけではないことに注意してください—Excelはすべてのグリッドラインを印刷し、ページの端は最後に印刷されたグリッドラインによって視覚的に定義されます。
注意:
- この方法は、ワークシートが規則的なグリッドレイアウトに収まり、独自のカスタム罫線に依存していない場合に最適です。
- すでにテーブルのために特徴的な罫線を使用している場合、印刷されたグリッドラインがそれらと視覚的に衝突することがあります。
1. カスタム罫線が存在する場合は、重複や不一致のない線を印刷するために、まずそれらを削除します。シートを選択し、次に「ホーム」→「罫線(アイコン)」→「罫線なし」をクリックして選択したすべてのセルの罫線をクリアします:
2. 「ページレイアウト」→「ページ設定」ダイアログボックスランチャー(グループの角にある小さな矢印)をクリックして「ページ設定」ダイアログを開きます:
3. 「ページ設定」で、「シート」タブに切り替え、「印刷」セクションの「グリッドライン」にチェックを入れ、すべてのグリッドライン(ページの端にあるものも含む)が印刷されるようにします:
4. 「印刷プレビュー」をクリックして結果を確認します。印刷すると、各ページには最も外側に印刷されたグリッドラインによって形成された明確な矩形のグリッド境界が表示され、ページ罫線のように見えます。サンプルをご覧ください:
ヒント:
- より太く、目立つ罫線が必要な場合は、印刷範囲に手動で外枠を追加するか、ページの輪郭を描画するマクロを使用することを検討してください。
- 結合された/不規則なセル領域は避けてください;これらは印刷されたグリッドラインの視覚的な連続性を壊す可能性があります。
- 常に印刷前にプレビューして、見た目が期待通りであることを確認してください。

Kutools AIでExcelの魔法を解き放つ
- スマート実行: セル操作、データ分析、グラフ作成を簡単なコマンドで行います。
- カスタム数式: ワークフローを合理化するための独自の数式を生成します。
- VBAコーディング: 簡単にVBAコードを作成し実装します。
- 数式の解釈: 複雑な数式を簡単に理解できます。
- テキスト翻訳: スプレッドシート内の言語障壁を取り除きます。
Kutools for Excelでワンクリックで各ページに罫線を印刷
特に複雑な書式設定を持つワークシートや、グリッドラインが不十分な場合によりプロフェッショナルなページ罫線を望むユーザーには、Kutools for Excelが便利なソリューションを提供します:「Add Border to Each Page」機能です。このツールを使用すると、アクティブなワークシートのすべての印刷可能なページに一回のクリックで太い罫線を追加でき、時間の節約と全ページにわたって一貫した外観を確保します。
Kutools for Excelをインストール後、次のステップに従って各ページに罫線を追加します:
1. 罫線を追加したいシートをアクティブにして、次に エンタープライズ > 印刷 > Add Border to Each Page. スクリーンショットをご覧ください:
2. 既存のすべての罫線が削除される警告ダイアログが表示された場合、作業を保存したか、罫線の上書きが許容されることを確認してください。「はい」をクリックして進めてください: はい をクリックして続行します:
適用されると、ワークシートの各ページは太くて明確な罫線で囲まれ、印刷出力が整理され、見分けやすいものになります。この方法は速く、手動操作を最小限に抑えます。
ヒントと注意点:
- このオプションを使用すると、アクティブなシートから既存の罫線が削除されます。
- 特定の罫線を保持する必要がある場合は、ファイルまたはワークシートをバックアップすることを検討してください。
- このオプションは、一貫性があり視覚的に明確なページ罫線が必要な大規模なワークシートでよく機能します。
VBAマクロ自動化を使用して各ページに罫線を印刷
特に定期的なタスクやカスタムレイアウトの場合、アドインに依存せずに、ページ罫線を完全に制御できるExcelの改ページを読み取り、ページの輪郭を描画するVBAマクロを使用して、各印刷可能ページに自動的に罫線を追加できます。
注意:
- このマクロは、各印刷可能ページを上/左/下/右の外側のみに罫線を引きます。既存の内部セル罫線は上書きされません。
- 構造化されたシートで最も効果的です;複雑な結合セルや異常な印刷エリアには若干の調整が必要になるかもしれません。
操作手順:
1. Alt + F11を押してVisual Basic for Applicationsエディタを開き、挿入 → モジュールをクリックして新しいモジュールを追加します。
2. 次のコードをコピーしてモジュールに貼り付けます:
Sub AddBorderToEachPrintablePage()
Dim ws As Worksheet
Dim LastRow As Long, LastCol As Long
Dim StartRow As Long, EndRow As Long
Dim StartCol As Long, EndCol As Long
Dim vRowBreaks As Variant, vColBreaks As Variant
Dim i As Long, j As Long
Dim oldDisp As Boolean
Dim f As Range
Set ws = ActiveSheet
Application.ScreenUpdating = False
Application.EnableEvents = False
' Check if sheet is empty
Set f = ws.Cells.Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False)
If f Is Nothing Then GoTo CleanUp
LastRow = ws.Cells.Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
LastCol = ws.Cells.Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
' Force refresh of page breaks
oldDisp = ws.DisplayPageBreaks
ws.DisplayPageBreaks = True
' Collect horizontal page breaks (add top and bottom bounds)
vRowBreaks = Array(0)
For i = 1 To ws.HPageBreaks.Count
vRowBreaks = ArrayJoin(vRowBreaks, Array(ws.HPageBreaks(i).Location.Row - 1))
Next i
vRowBreaks = ArrayJoin(vRowBreaks, Array(LastRow))
' Collect vertical page breaks (add left and right bounds)
vColBreaks = Array(0)
For j = 1 To ws.VPageBreaks.Count
vColBreaks = ArrayJoin(vColBreaks, Array(ws.VPageBreaks(j).Location.Column - 1))
Next j
vColBreaks = ArrayJoin(vColBreaks, Array(LastCol))
' Draw only outer borders for each printable page
For i = 0 To UBound(vRowBreaks) - 1
StartRow = vRowBreaks(i) + 1
EndRow = vRowBreaks(i + 1)
For j = 0 To UBound(vColBreaks) - 1
StartCol = vColBreaks(j) + 1
EndCol = vColBreaks(j + 1)
With ws.Range(ws.Cells(StartRow, StartCol), ws.Cells(EndRow, EndCol))
With .Borders(xlEdgeTop)
.LineStyle = xlContinuous: .Weight = xlThick
End With
With .Borders(xlEdgeLeft)
.LineStyle = xlContinuous: .Weight = xlThick
End With
With .Borders(xlEdgeBottom)
.LineStyle = xlContinuous: .Weight = xlThick
End With
With .Borders(xlEdgeRight)
.LineStyle = xlContinuous: .Weight = xlThick
End With
End With
Next j
Next i
CleanUp:
ws.DisplayPageBreaks = oldDisp
Application.EnableEvents = True
Application.ScreenUpdating = True
If Not f Is Nothing Then
MsgBox "Borders have been added to each printable page!", vbInformation, "AddBorderToEachPrintablePage"
End If
End Sub
Function ArrayJoin(a As Variant, b As Variant) As Variant
Dim temp() As Variant
Dim alen As Long, blen As Long, k As Long
alen = UBound(a) - LBound(a) + 1
blen = UBound(b) - LBound(b) + 1
ReDim temp(0 To alen + blen - 1)
For k = 0 To alen - 1
temp(k) = a(k)
Next k
For k = 0 To blen - 1
temp(alen + k) = b(k)
Next k
ArrayJoin = temp
End Function
3. Excelに戻り、対象のワークシートがアクティブになっていることを確認し、F5キー(または「実行」ボタン)でマクロを実行します。マクロは改ページを検出し、各印刷可能ページブロックの周りに太い罫線を引きます。
ヒント:
- 罫線のスタイル/太さは、4つの
xlEdge*
セクションを編集することで調整できます(例:.Weight = xlMedium
、色は.Color
経由)。 - カスタム印刷範囲が設定されている場合、Excelの改ページはそれに従います;印刷プレビューで結果を確認してください。
- マクロを実行する前にワークブックを保存してください。繰り返し使用する場合は、マクロ有効ファイル(
.xlsm
)として保存してください。 - コンテンツが見つからない場合、マクロは安全に終了し、メッセージが表示されます(空のシートでのエラーを防ぎます)。
マクロが期待通りに動作しない場合は、結合されたセル、非表示の行/列、または異常なスケーリング設定(例えば、「1ページ幅×Nページ高さに合わせる」など)を確認してください。印刷範囲やページ設定を変更してページブロックを調整し、マクロを再実行できます。
各ページの周りに罫線を追加
最高のオフィス業務効率化ツール
🤖 | Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Execution|コード生成|カスタム数式の作成|データの分析とグラフの生成|Kutools Functionsの呼び出し…… |
人気の機能:重複の検索・ハイライト・重複をマーキング|空白行を削除|データを失わずに列またはセルを統合|丸める…… | |
スーパーLOOKUP:複数条件でのVLookup|複数値でのVLookup|複数シートの検索|ファジーマッチ…… | |
高度なドロップダウンリスト:ドロップダウンリストを素早く作成|連動ドロップダウンリスト|複数選択ドロップダウンリスト…… | |
列マネージャー:指定した数の列を追加 |列の移動 |非表示列の表示/非表示の切替| 範囲&列の比較…… | |
注目の機能:グリッドフォーカス|デザインビュー|強化された数式バー|ワークブック&ワークシートの管理|オートテキスト ライブラリ|日付ピッカー|データの統合 |セルの暗号化/復号化|リストで電子メールを送信|スーパーフィルター|特殊フィルタ(太字/斜体/取り消し線などをフィルター)…… | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など)|50種類以上のグラフ(ガントチャートなど)|40種類以上の便利な数式(誕生日に基づいて年齢を計算するなど)|19 種類の挿入ツール(QRコードの挿入、パスから画像の挿入など)|12 種類の変換ツール(単語に変換する、通貨変換など)|7種の統合&分割ツール(高度な行のマージ、セルの分割など)|… その他多数 |
Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...
Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に
- Word、Excel、PowerPointでタブによる編集・閲覧を実現。
- 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
- 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!
全てのKutoolsアドインを一つのインストーラーで
Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。





- オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
- 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
- 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
- 30日間フル機能お試し —— 登録やクレジットカード不要
- コストパフォーマンス最適 —— 個別購入よりお得