Article

【Excel】印刷プレビューと実際の印刷結果がずれる・合わない原因と解決方法

この記事で分かること

Excelで印刷プレビューと実際の印刷結果がずれる原因を、プリンタ違い・拡大縮小・用紙サイズ・ハードマージン・ヘッダー余白の5系統に整理して、診断フローと修正手順をスクリーンショット付きで解説します。

Excel で印刷プレビューを確認してから印刷したのに、実際の紙では「右が切れた」「1 行だけ次のページに送られた」「背景色が出ない」「ヘッダーが本文と重なった」といったずれが起きることがあります。原因は無数にあるように見えますが、整理すると 5 つの系統 に分けられます。本記事では、Windows 11 + Excel 2024 で実機検証した結果と修正手順を、5 系統の診断フローでまとめます。

サンプルファイル xlsx ・ 約 17 KB

5 つの症状(用紙サイズ・拡大縮小・余白ハードマージン・ヘッダー重なり・白黒/手動改ページ)を 1 つずつ別シートに再現したブックです。記事の手順をそのまま試せます。

ダウンロード

まずは 5 系統の診断フローで原因を絞り込む

「印刷プレビューと実際の印刷結果がずれる」と言ってもパターンは様々です。次のフローを上から順に確認することで、どの原因に該当するかを 5 ステップで特定できます。

Excel印刷プレビューと印刷結果のずれを5系統で診断するフローチャート。プリンタ違い、拡大縮小、用紙サイズ、ハードマージン、ヘッダー余白の順に確認する手順を示している
5 系統の診断フロー。上から順にチェックすれば原因を絞り込める
  1. プリンタ違い — プレビュー時と実印刷で別プリンタが選ばれている
  2. 拡大縮小の罠 — Zoom と FitToPages の競合で縮小が効かない
  3. 用紙サイズずれ — A4 / Letter / B5 の指定とプリンタの紙が一致していない
  4. ハードマージン — 余白を 0 にしてもプリンタの印刷不能領域で外周が切れる
  5. ヘッダー余白・白黒・手動改ページ — 個別要因がプレビューと実印刷の見た目を変える

原因①プレビュー用と印刷用で別のプリンタが選ばれている

Excel のページ設定情報には 「最後に使ったプリンタのドライバ情報」 が組み込まれます。プレビューを開いたときのプリンタと、実際に印刷ボタンを押したときのプリンタが違うと、ドライバが計算する余白や用紙レイアウトが変わるため、見た目がずれます。

確認は「ファイル」→「印刷」画面で、プリンタ欄が意図通りになっているかを見るだけです。テレワーク環境で PDF 仮想プリンタが既定になっていたり、別の人の PC で開いて別の機種が選ばれていたりすると、この罠にかかります。

VBA で現在のプリンタを確認するには次のコードを使います。

Debug.Print Application.ActivePrinter
' 出力例: Canon GX7100 series on Ne03:

注意点として、Excel が返すプリンタ名は 名前 on Ne0X: という形式で、末尾の Ne0X:Excel が起動セッションごとに割り当てる内部ポート番号です。Windows のコントロールパネルに表示されるポート名(WSD-xxxxxxxxUSB001)とは別物で、VBA から Application.ActivePrinter = "Canon GX7100 series" のように単純な名前で書き換えるとエラーになります。プリンタを VBA で切り替えたい場合は、起動時の値を一度読み取ってから再設定するのが安全です。

原因②拡大縮小設定(Zoom と FitToPages)の競合

「1 ページに収めたいのに縮小されない」という相談で最も多いパターンです。「次のページ数に合わせて印刷」(FitToPages)と「拡大/縮小」(Zoom)は同居できない設定で、Zoom の値が残ったままだと FitToPages は無効になります。

サンプルブックの「症状2_拡大縮小」シートには、A4 縦には収まらない 14 列の表が入っています。同じシートを次の 2 通りで PDF に書き出すと、結果が大きく変わります。

左はZoom=100でFitToPagesが無効のため右側の月の列が次ページに送られている。右はFitToPagesWide=1とZoom=Falseを併用して14列が1ページに収まっている比較画像
左: Zoom=100 のままでは FitToPages が無効。右: Zoom=False を併用すると初めて横幅 1 ページに収まる

実機(Excel 2024 / Windows 11)で同じシートを PDF に書き出して総ページ数を数えると、次のように差が出ます。

設定実 PDF ページ数
Zoom = 100、FitToPages なし25 ページ
FitToPagesWide = 1(Zoom = 100 のまま)25 ページ(Fit が効かない)
FitToPagesWide = 1 + Zoom = False1 ページ
手動 Zoom = 30%(Fit なし)4 ページ

UI から操作する場合は、「ページレイアウト」→「拡大縮小印刷」で「自動調整」を選びます。VBA で書く場合は次の 3 行をセットで書きます。

With ActiveSheet.PageSetup
    .FitToPagesWide = 1
    .FitToPagesTall = False   ' 縦は何ページでもよい
    .Zoom = False             ' これを忘れると FitToPages が効かない
End With

逆に「固定倍率で印刷したい」場合は Zoom = 75 のように整数値を指定し、FitToPagesWide = FalseFitToPagesTall = False も同時に書いて打ち消します。

VBA で全シートの印刷設定をまとめて書き換える方法は 全シートの印刷設定(用紙サイズ・向き・余白)を一括変更するマクロ で詳しく解説しています。

原因③用紙サイズ・向きの不一致

ブックに保存されている用紙サイズと、印刷時のプリンタが扱える用紙サイズが違うと、プリンタドライバが「最も近い用紙」に置き換えてレイアウトを再計算します。海外製のテンプレートは Letter で作られていることが多く、これを日本の A4 設定のプリンタに送ると下端が切れたり次のページに送られたりします。

同じデータをA4とLetterでPDF出力した比較。A4は最終行までほぼ収まるが、Letterは高さが短く下端の数行が次ページに送られている
左: A4(PaperSize=9)。右: Letter(PaperSize=1)。A4 は高さ 297mm、Letter は 279.4mm で約 17.6mm 短いため、下端の数行が次ページに送られる

サンプルブックの「症状1_用紙サイズ」シートで実機検証した結果、用紙サイズを変えると次のように改ページ数が変わります。同じデータでも用紙サイズの選択を間違えると、見た目もページ数も大きく変わることがわかります。

用紙サイズ実 PDF ページ数
A38
A410
Letter10
B514
A530

確認手順は「ページレイアウト」→「サイズ」、または「ページ設定」ダイアログの「ページ」タブの「用紙サイズ」欄です。実印刷するプリンタが対応する用紙を選び直してください。

原因④プリンタの印刷可能領域(ハードマージン)の外に置かれている

Excel のページ設定で余白を 0cm にしても、プリンタは紙の端まで印刷できません。インクジェット機なら 3〜5mm、レーザー機なら 4〜6mm 程度の 印刷不能領域(ハードマージン)が物理的に存在します。プレビュー上は端まで描画されているのに、実印刷では外周が削られるのはこのためです。

余白0cmで端まで罫線とデータを配置したシートのPDF出力。PDFでは紙の端まで描画されているが、実プリンタで印刷すると外周3〜5mmが切れる
余白 0cm に設定したシートを PDF に書き出した結果。PDF では端まで出るが、実プリンタは外周が切れる

対処は単純で、すべての余白を 1.0cm 以上を目安に確保することです。サンプルブックの「症状3_余白ハード」シートは余白 0cm に設定してあるので、お使いのプリンタで印刷してみると、端の罫線がどこまで切れるかが目で確認できます(プリンタの機種によって切れる量は異なります)。

「フチなし印刷」に対応した家庭用プリンタを「フチなし」設定で使う場合は、ハードマージンが解消されますが、その代わり用紙サイズより少し大きく印刷して両端をカットする方式になり、レイアウトの計算がさらに複雑になります。本記事の対処法は通常の印刷設定を前提としています。

原因⑤ヘッダー余白・白黒印刷・手動改ページの個別要因

5-1 ヘッダー余白(HeaderMargin)が本文余白(TopMargin)より大きい

ページ設定の「余白」タブには「上」「ヘッダー」の 2 つの数値があります。両方とも 用紙の上端からの距離を表しているので、ヘッダーの値が「上」の値以上になっていると、ヘッダーの文字列が本文 1 行目を覆い隠します。

ヘッダー余白を2cm、本文上余白を1cmに設定したシートのプレビュー。ヘッダーが下まで侵食して本文1行目と重なっている
HeaderMargin 2.0cm が TopMargin 1.0cm より大きいため、ヘッダーが本文 1 行目に重なる

原則として「上」の値は「ヘッダー」の値より大きく設定してください。標準的な目安は ヘッダー 0.8cm、上 1.5cm、本文 1.5cm です。

5-2 「シートを白黒で印刷」がオンになっている

「ページ設定」→「シート」タブにある「白黒印刷」をオンにすると、プレビュー画面ではカラー表示のままなのに、実印刷では背景色とフォント色が単色化されます。「プレビューでは色が出ているのに、印刷すると消える」というずれの典型例です。

左は白黒印刷OFFで背景色がそのまま印刷されるシート。右は白黒印刷ONで背景色とフォント色が単色化されたシートの比較
左: 白黒印刷 OFF。右: 白黒印刷 ON。背景色とフォント色が単色化される

5-3 手動改ページが残ったまま用紙設定を変えている

「改ページプレビュー」で青い線をドラッグして手動改ページを入れたあと、用紙サイズや向きを変更しても、手動改ページの位置はそのまま残ります。意図しない位置で改ページされる場合は、「ページレイアウト」→「改ページ」→「すべての改ページの解除」で自動に戻してから設定をやり直してください。

5-4 シート背景画像(SetBackgroundPicture)は印刷されない仕様

「ページレイアウト」→「背景」で設定したシート背景画像は、画面表示専用で印刷されません。「プレビューには出ているのに紙に出ない」という相談の中には、この仕様が原因のものもあります。背景を印刷したい場合は画像を「挿入」→「画像」で本文に挿入し直してください。

「PDF に出して確認」では発見できない罠

「印刷の前に PDF に出して確認すれば紙と同じになる」と思われがちですが、実際は状況次第で当てはまらないことがあります。Excel の 「ファイル」→「エクスポート」→「PDF/XPS の作成」は内蔵の PDF エンジンを使っており、プリンタドライバを参照しません。実機で 4 種類のプリンタを既定にしてからエクスポートしても、PDF のページ数とファイルサイズはほぼ同一でした。

つまり、原因①(プリンタドライバ依存のレイアウト差)や原因④(プリンタのハードマージン)は PDF エクスポートでは見抜けません。最終確認は、必ず実際に印刷するプリンタを既定にしてから「ファイル」→「印刷」のプレビューで行ってください。物理プリンタの紙印刷でしか露見しないずれもあります。

5 ステップ診断チェックリスト

本記事の内容を実務で運用するためのチェックリストです。プレビューと印刷結果がずれたときに、上から順に潰してください。

  • STEP 1 印刷ダイアログのプリンタが意図通りになっているか
  • STEP 2 ページ設定の拡大縮小印刷が「100%」「自動調整」のどちらか確認した(FitToPages を使うときは Zoom=False を併用)
  • STEP 3 用紙サイズがプリンタに存在する種類か(A4 / Letter / B5 等)
  • STEP 4 すべての余白を 1.0cm 以上にしている
  • STEP 5 ヘッダー余白 < 本文上余白、白黒印刷 OFF、不要な手動改ページが残っていない

VBA で印刷設定を一括チェックするマクロ

同じシートを毎月印刷する業務などでは、印刷設定の状況を VBA で一発確認できると便利です。次のマクロをサンプルブックの「VBA診断ヘルパー」シートにも貼り付けてあります。

Public Sub DiagnosePrintSettings()
    Dim ps As PageSetup
    Set ps = ActiveSheet.PageSetup
    Debug.Print String(40, "-")
    Debug.Print "シート名         : " & ActiveSheet.Name
    Debug.Print "ActivePrinter    : " & Application.ActivePrinter
    Debug.Print "PaperSize(定数)  : " & ps.PaperSize
    Debug.Print "Orientation(定数): " & ps.Orientation & "  (1=縦 / 2=横)"
    Debug.Print "Zoom             : " & ps.Zoom & "  (False=自動調整)"
    Debug.Print "FitToPagesWide   : " & ps.FitToPagesWide
    Debug.Print "FitToPagesTall   : " & ps.FitToPagesTall
    Debug.Print "LeftMargin(cm)   : " & Round(ps.LeftMargin / 28.3464567, 2)
    Debug.Print "RightMargin(cm)  : " & Round(ps.RightMargin / 28.3464567, 2)
    Debug.Print "TopMargin(cm)    : " & Round(ps.TopMargin / 28.3464567, 2)
    Debug.Print "BottomMargin(cm) : " & Round(ps.BottomMargin / 28.3464567, 2)
    Debug.Print "HeaderMargin(cm) : " & Round(ps.HeaderMargin / 28.3464567, 2)
    Debug.Print "FooterMargin(cm) : " & Round(ps.FooterMargin / 28.3464567, 2)
    Debug.Print "PrintArea        : " & ps.PrintArea
    Debug.Print "BlackAndWhite    : " & ps.BlackAndWhite
    Debug.Print "Draft(下書き印刷): " & ps.Draft
End Sub

Alt + F11 で VBE を開き、「挿入」→「標準モジュール」に貼り付けて F5 で実行すると、Ctrl + G で表示できるイミディエイトウィンドウに現在の印刷設定が一覧表示されます。プレビューと印刷の食い違いを調べるときの状況把握に使ってください。

まとめ

Excel の印刷プレビューと実際の印刷結果がずれる原因は、整理すると次の 5 系統に分けられます。

  • ①プレビュー用と印刷用で別のプリンタが選ばれている
  • ②拡大縮小設定(FitToPages と Zoom)が競合している
  • ③用紙サイズ・向きがプリンタと一致していない
  • ④プリンタの印刷可能領域(ハードマージン)の外にデータがある
  • ⑤ヘッダー余白 / 白黒印刷 / 手動改ページなどの個別要因

プレビューと実印刷がずれたときは、本記事のチェックリストを上から順に潰すのが最短ルートです。VBA で全シートの印刷設定をまとめて修正したい場合は 全シートの印刷設定(用紙サイズ・向き・余白)を一括変更するマクロ も合わせて確認してください。

印刷プレビューではなく画面上でヘッダーやフッターが突然大きく表示されている場合は、表示モードが「ページレイアウト」に切り替わっていることが多いです。その場合の原因と解除手順は Excelの画面表示がおかしい・ヘッダーやフッターが勝手に出る原因と元に戻す方法 にまとめてあります。

Next Read

このあと読む記事

今の内容に近い記事から、次の1本と補助記事を続けて見つけられるようにしています。

Keep Exploring

このテーマをさらに探す

同じテーマの入口記事と更新記事を、一覧の形でまとめています。

コメント