「画面ではキレイに1ページに収まっているのに、印刷したら2ページになった……」「職場のあのパソコンでは問題ないのに、自分のパソコンだと改ページがずれる……」そんな経験、ありませんか?
Excelの印刷トラブルは、初心者からベテランまで誰もが一度はぶつかる壁です。とくに改ページのずれや印刷プレビューと実際の印刷結果の差は、時間も紙もムダにしてしまう厄介な問題。急ぎの見積書を出したいのにレイアウトが崩れて焦った、なんて話は日常茶飯事ですよね。
この記事では、Excelの印刷で改ページがずれてプレビューと実際の出力に差が生まれる根本原因を徹底的に解明し、初心者でもすぐに実践できる具体的な解決策を7つの切り口でお伝えします。さらに、複数のパソコンでファイルを共有している職場でありがちな「人によって改ページが変わる問題」への対処法や、2026年現在のMicrosoft 365環境で押さえるべき最新ポイントまで網羅しました。
- Excelの改ページがずれる5大原因とそれぞれの仕組みを図解レベルでわかりやすく解説
- 印刷プレビューと実際の印刷結果に差が出る根本理由と、誰でもできる7つの解決テクニック
- 複数パソコンでExcelファイルを共有するチーム向けの再発防止チェックリスト
- そもそもExcelの改ページはなぜずれるのか?5つの根本原因を知ろう
- 改ページプレビューの正しい使い方をマスターしよう
- 印刷プレビューと実際の印刷結果にズレが出るときの解決テクニック7選
- 複数パソコンで共有するExcelファイルの改ページを安定させる方法
- 印刷前に必ずやるべきチェックリスト
- 情シス歴10年超の現場視点で語る「誰も教えてくれない」改ページトラブルの深層
- 現場で即使えるVBAマクロ集改ページトラブルを自動で解決する
- プリンタードライバーの落とし穴情シスだからこそ知っている裏事情
- Excelのバージョン差で起きる「見えない互換性問題」
- 隠れたオブジェクトが引き起こす「白紙ページ印刷」の謎
- 「フィルター適用中の印刷」で発生する見落とし
- 複数シートを一括印刷するときの「作業グループ」活用術
- ぶっちゃけこうした方がいい!
- Excelの印刷で改ページがずれてプレビューと差が出る問題に関するよくある質問
- 今すぐパソコンやスマホの悩みを解決したい!どうしたらいい?
- まとめ
そもそもExcelの改ページはなぜずれるのか?5つの根本原因を知ろう
解決策を知る前に、まずは「なぜこんなことが起こるのか」を理解しておきましょう。原因がわかれば対処も的確になります。Excelの改ページがずれる原因は、大きく分けて5つあります。
原因1Windowsのディスプレイ拡大率(DPIスケーリング)が異なる
これがもっとも多い原因であり、かつ多くの人が見落としているポイントです。Windowsには「テキスト、アプリ、その他の項目のサイズを変更する」という設定があり、ノートパソコンでは125%や150%に設定されていることがほとんどです。一方、デスクトップPCでは100%のままというケースが多いですよね。
実はExcelは、このディスプレイの拡大率(DPIスケーリング)に応じて改ページの位置を計算しています。つまり、同じExcelファイルでも、拡大率100%のPCで開いたときと125%のPCで開いたときでは、改ページの位置が変わってしまうのです。ある司法書士事務所では、事務所のデスクトップPC(100%設定)で作った請求書を、自宅のノートPC(125%設定)で開いたところ、1ページの表が2ページ目にはみ出してしまい、PDF出力もずれるという問題に長期間悩まされていました。
Microsoft公式のサポート情報でも「異なるWindows環境でExcelファイルを共有すると、印刷範囲やセルの幅・高さが変わる場合がある」と明記されています。これはバグではなくExcelの仕様に近い挙動なのです。
原因2既定のプリンターが異なる
意外に思われるかもしれませんが、Excelは既定(デフォルト)に設定されているプリンターのドライバー情報を参照して改ページ位置を決定しています。プリンターごとに印刷可能な余白や解像度が異なるため、プリンターが変わると改ページの位置も微妙にずれます。
たとえば、自宅のインクジェットプリンターと職場のレーザープリンターでは、印刷可能な最小余白が違います。余白の大きいプリンターでは、その分だけ印刷可能領域が狭くなり、ギリギリで収まっていたデータが次のページに押し出されてしまうのです。
原因3拡大縮小印刷の設定と改ページが連動していない
Excelのページ設定には「拡大/縮小」と「次のページ数に合わせて印刷」という2つのスケーリング方法があります。ここで注意したいのが、改ページプレビューで手動設定した改ページ位置と、拡大縮小印刷の設定は独立して動いているという点です。
たとえば、改ページプレビューで1ページに収めたつもりでも、ページ設定ダイアログの「拡大/縮小」が100%のままだと、用紙サイズによっては1ページに入りきらないことがあります。逆に「1ページに収める」設定を有効にしていると、手動で挿入した改ページが無視されてしまうこともあるのです。
原因4グラフや画像などの浮動オブジェクトの存在
Excelのセルは印刷時にスケーリングされますが、グラフや画像などの浮動オブジェクトはセルとは異なるスケーリングルールで処理されます。そのため、ページレイアウトビューや改ページプレビューでは問題なく見えていても、実際に印刷すると位置がずれたり、ページの区切りが変わったりすることがあります。
とくに「シートを4ページに収める」のようなフィット設定を使っている場合、グラフを含むシートではプレビューと実際の出力がまったく違う結果になるケースが報告されています。
原因5Windowsの「通常使うプリンターを管理する」設定がONになっている
Windows 10以降には「Windowsで通常使うプリンターを管理する」という設定があり、これがONになっていると、最後に使用したプリンターが自動的に既定のプリンターとして上書きされてしまいます。つまり、PDFプリンターで出力した後にExcelを開くと、既定プリンターがPDFプリンターに変わっていて、改ページ位置がそれまでと変わってしまう可能性があるのです。
改ページプレビューの正しい使い方をマスターしよう
改ページのずれを修正するうえで、もっとも直感的で強力なツールが改ページプレビューです。「表示」タブから「改ページプレビュー」をクリックすると、印刷時のページ区切りが青い線で可視化されます。
青い実線と青い点線の違いを理解する
改ページプレビューに表示される青い線には2種類あります。実線は手動で挿入された改ページ、点線はExcelが自動的に計算した改ページです。この違いを知っておくだけで、どこを修正すればよいかが一目瞭然になります。
自動改ページ(点線)は、用紙サイズ、余白、拡大率をもとにExcelが算出したものなので、これらの設定を変えれば自動的に位置も変わります。一方、手動改ページ(実線)はユーザーが明示的に入れたものなので、「改ページの解除」操作をしない限りそのまま残り続けます。
青い線をドラッグしてページ区切りを調整する方法
改ページプレビューでは、青い線をドラッグするだけで印刷範囲やページの区切りを調整できます。たとえば、F列が2ページ目にはみ出しているなら、E列とF列の間にある点線をF列の右側まで引っ張れば、F列まで1ページに収まるようになります。
ただし、ここで注意点がひとつ。青い線を大きく動かして無理やり1ページに収めようとすると、Excelが自動的に縮小率を調整し、全体が小さくなって文字が読みにくくなることがあります。印刷プレビューで必ず最終確認してから印刷するようにしましょう。
青い線がドラッグできないときの対処法
改ページプレビューで青い線を動かそうとしても、カーソルが反応しないことがあります。この場合は以下の設定を確認してください。「ファイル」タブから「オプション」を開き、「詳細設定」の中にある「編集設定」で「フィルハンドルおよびセルのドラッグアンドドロップを使用する」にチェックが入っているかを確認します。ここがオフになっていると、青い線のドラッグ操作が無効になります。
また、シートが保護されている場合や、ページ設定で「次のページ数に合わせて印刷」が有効になっている場合も、手動での改ページ調整ができなくなります。その際は、シートの保護を解除するか、ページ設定のスケーリング方式を「拡大/縮小」に切り替えてからお試しください。
印刷プレビューと実際の印刷結果にズレが出るときの解決テクニック7選
ここからは、具体的な解決策を7つご紹介します。簡単にできるものから順番に並べているので、上から試していくのがおすすめです。
テクニック1ディスプレイの拡大率を100%に統一する
複数のPCでExcelファイルを共有している場合、もっとも効果的な対策がこれです。デスクトップの何もないところを右クリックして「ディスプレイ設定」を開き、「拡大縮小とレイアウト」の項目で拡大率を100%に変更します。変更後は必ずPCを再起動してください。再起動しないと設定が反映されないまま使い続けてしまい、「やっぱり直らなかった」と勘違いするケースがあります。
ノートPCでは画面の文字が小さくなって見づらいかもしれませんが、Excelでの印刷作業が終わったら推奨値(125%や150%)に戻せば日常使いに支障はありません。
テクニック2既定のプリンターを「Microsoft Print to PDF」に統一する
チームで同じExcelファイルを編集する場合、メンバー全員の既定プリンターを「Microsoft Print to PDF」に統一するという方法が非常に有効です。物理プリンターはメーカーやモデルによって印刷可能余白が異なりますが、「Microsoft Print to PDF」はソフトウェアプリンターなので、どのPCでも同じ条件になります。
実際に紙に出力したいときは、まずPDFファイルとして出力し、そのPDFを物理プリンターで印刷するという運用にすれば、レイアウトが崩れる心配がなくなります。PDFはプリンターやOSに依存せずレイアウトを保持する形式なので、「改ページがずれる問題」の最終防衛ラインとして活用できます。
テクニック3「Windowsで通常使うプリンターを管理する」をOFFにする
Windowsの設定で「Bluetoothとデバイス」→「プリンターとスキャナー」を開き、「Windowsで通常使うプリンターを管理する」をOFFにしましょう。これをOFFにしないと、最後に使ったプリンターが勝手にデフォルトに設定されてしまい、せっかく統一した既定プリンターの設定が台無しになります。
テクニック4ページ設定ダイアログで余白と拡大率を明示的に指定する
「ページレイアウト」タブの「ページ設定」グループ右下にある小さな矢印をクリックすると、ページ設定ダイアログが開きます。ここで用紙サイズ、印刷の向き、余白、拡大率を明示的に数値で指定しておくことが重要です。
とくに注意したいのが、「ページ」タブにある拡大縮小の設定です。ここには「拡大/縮小」(パーセント指定)と「次のページ数に合わせて印刷」(横○×縦○指定)の2つの方式があります。この2つは排他的な関係で、どちらか一方しか有効にできません。手動で改ページを設定したい場合は、必ず「拡大/縮小」方式を選んでパーセントを指定してください。「次のページ数に合わせて印刷」を選んでいると、手動改ページが無視されてしまうためです。
テクニック5改ページを一度すべてリセットしてから再設定する
改ページがぐちゃぐちゃになってしまったときは、いったんすべての改ページをリセットするのが近道です。「ページレイアウト」タブの「改ページ」から「すべての改ページを解除」を選択します。これで手動改ページがすべて削除され、Excelの自動改ページだけが残ります。
そのうえで改ページプレビューに切り替え、必要な箇所に手動改ページを入れ直しましょう。古い改ページ設定と新しい設定が混在している状態が、もっともトラブルが起きやすいパターンです。
テクニック6印刷範囲をクリアしてから再設定する
意図しない印刷範囲が設定されていると、データの一部だけが印刷されて「切れた」ように見えることがあります。「ページレイアウト」タブの「印刷範囲」から「印刷範囲のクリア」を選び、いったん白紙の状態にしましょう。そのあと、本当に印刷したい範囲を選択して「印刷範囲の設定」をクリックし直します。
テクニック7プリンタードライバーを最新版に更新する
プリンタードライバーが古いと、Excelとの間で情報のやりとりに齟齬が生じ、プレビューと実際の出力に差が出ることがあります。プリンターメーカーの公式サイトから最新のドライバーをダウンロードしてインストールしましょう。Windows Updateが自動でインストールする汎用ドライバー(Microsoft IPP Class Driverなど)では、メーカー固有の余白設定やスケーリング情報が正しく反映されないことがあるため、メーカー純正のフルドライバーを使うことをおすすめします。
複数パソコンで共有するExcelファイルの改ページを安定させる方法
職場やチームで同じExcelファイルを編集・印刷する場面では、個人のPC環境の違いがそのままレイアウト崩れにつながります。ここでは、チーム運用で改ページを安定させるための実践的な方法をご紹介します。
チーム全員で統一すべき3つの設定
複数人でExcelファイルを共有して印刷する場合、以下の3つの設定をチーム全員で合わせるだけで、改ページのずれは劇的に減ります。
| 統一すべき設定 | 推奨値 | 設定場所 |
|---|---|---|
| ディスプレイ拡大率 | 100% | デスクトップ右クリック→ディスプレイ設定 |
| 既定のプリンター | Microsoft Print to PDF | 設定→Bluetoothとデバイス→プリンターとスキャナー |
| 通常使うプリンターの自動管理 | OFF | 設定→Bluetoothとデバイス→プリンターとスキャナー |
VBAマクロでページ設定を自動適用する上級テクニック
Excelに慣れている方なら、ブックを開いたときに自動的にページ設定を統一するVBAマクロを仕込んでおくのも効果的です。
Workbook_Open
イベントに、用紙サイズ、余白、拡大率、印刷範囲を明示的に設定するコードを書いておけば、どのPCで開いても同じ印刷設定が適用されます。
たとえば、以下のようなコードを「ThisWorkbook」モジュールに記述します。
Private Sub Workbook_Open()
With ActiveSheet.PageSetup
.PaperSize = xlPaperA4
.Orientation = xlPortrait
.Zoom = 100
.LeftMargin = Application.CentimetersToPoints(1.5)
.RightMargin = Application.CentimetersToPoints(1.5)
.TopMargin = Application.CentimetersToPoints(2)
.BottomMargin = Application.CentimetersToPoints(2)
End With
End Sub
このマクロを使えば、ファイルを開くたびにA4縦、拡大率100%、余白1.5cmという設定が自動で適用されます。ファイル形式は.xlsm(マクロ有効ブック)で保存する必要がある点だけ注意してください。
最終手段はPDF出力で「プリンター依存」を排除する
どうしても改ページの統一が難しい場合は、レイアウトが確定した時点でPDFに出力し、そのPDFを配布・印刷するという運用が確実です。PDFはプリンターやOSの設定に左右されずレイアウトを保持する形式なので、「ファイルを開くPCによって見え方が違う」という問題を根本的に解消できます。
Excelの「ファイル」→「名前を付けて保存」からファイル形式をPDFに変更するか、「ファイル」→「印刷」で「Microsoft Print to PDF」を選択して印刷すれば、PDFファイルが作成されます。なお、「名前を付けて保存」と「印刷からPDF出力」では微妙に結果が異なることがあるため、印刷メニューから「Microsoft Print to PDF」で出力する方法のほうが、画面で見たプレビューに近い結果が得られる傾向にあります。
印刷前に必ずやるべきチェックリスト
印刷ミスを防ぐために、印刷ボタンを押す前に以下の項目を確認する習慣をつけましょう。慣れてしまえば30秒もかからない作業です。
- 改ページプレビューで確認する。「表示」タブから「改ページプレビュー」に切り替え、青い線(ページの区切り)が意図した位置にあるかを目視でチェックします。
- 印刷プレビューで最終確認する。
Ctrl + Pで印刷画面を開き、右側に表示されるプレビューでページ数や余白、文字の切れがないかを確認します。複数ページある場合は、すべてのページを送って確認しましょう。
- 用紙サイズとプリンターの設定を照合する。Excel側で指定している用紙サイズ(A4、A3など)と、プリンターのプロパティで設定されている用紙サイズが一致しているかを確認します。ここが食い違っていると、Excelはプリンター側の用紙サイズに合わせて出力を調整するため、プレビューと違う結果になります。
- 拡大率とスケーリング方式を確認する。ページ設定ダイアログの「ページ」タブで、「拡大/縮小」のパーセントが適切か、あるいは「次のページ数に合わせて印刷」の設定が意図通りかを確認します。
情シス歴10年超の現場視点で語る「誰も教えてくれない」改ページトラブルの深層
ここからは、企業の情報システム部門で10年以上、数百台規模のPC環境を管理してきた視点だからこそ語れる「現場のリアル」をお伝えします。ネットで検索しても出てこない、泥臭いけれど確実に役立つ知見です。
端末入替え直後に全社的に改ページがズレる「あの現象」の正体
情シス担当者なら一度は経験したことがあるはず。リース満了で全社のPCを一斉に入れ替えたら、翌日から「Excelの印刷がおかしい」という問い合わせが殺到する、あの恐怖。共有フォルダ上にあるExcelファイルは何百、何千とあるのに、全部レイアウトが崩れている状態です。
この現象の真の原因はキッティング時のディスプレイ拡大率の設定漏れです。最近のノートPCは解像度が高いため、Windowsは初期セットアップ時に自動的に拡大率を125%や150%に設定します。キッティング手順書に「ディスプレイ拡大率を100%にする」という項目を入れていないと、全台バラバラの設定で展開されてしまうわけです。
しかも厄介なのが、拡大率を変更した後に必ずPCを再起動しないと設定が反映されないという点。実際の現場では、設定変更後にサインアウト→サインインだけで済ませてしまい、「やっぱり直らない」と思い込んでDPIは関係ないと判断してしまうケースが本当に多いのです。あるIT管理者のブログでも「単純にディスプレイ解像度変更→再起動すれば治っていたのに、再起動しなかったせいで原因特定に何日もかかった」という体験談が紹介されており、これは私自身もまったく同じ経験をしました。
「若い社員はズレない、年配の社員はズレる」という不思議な法則
ある企業で端末入替え後に調査したところ、改ページがズレる社員とズレない社員が分かれていたそうです。よく調べると、年配の社員はPC画面の文字が小さくて見づらいため、ディスプレイ拡大率を自分で大きく変更していたのです。若い社員はデフォルトの100%のまま使っていたから問題なかった。これは笑い話のようで、実際に多くの現場で起きていることです。
対処としては、後述するVBAマクロで印刷前に設定を強制適用する方法が有効ですが、根本的にはキッティング手順書にディスプレイ拡大率の固定手順を明記し、可能であればグループポリシーで拡大率変更を制限することを検討してください。ただし、拡大率を100%に固定すると目の悪い社員から苦情が来るので、Excelでの作業時だけ100%に切り替えるルールを設けるか、後述の「Microsoft Print to PDFに統一する」方法とセットで運用するのが現実的です。
「印刷範囲を無視」チェックボックスの罠
これは本当に見落としやすいポイントです。Excelの印刷画面(
Ctrl + P
)の設定欄には、ごく目立たない位置に「印刷範囲を無視」というチェックボックスがあります。ここにチェックが入っていると、せっかく設定した印刷範囲がまるごと無視されてシート全体が印刷対象になります。
情シスへの問い合わせで「印刷範囲を何度設定しても反映されない」と言われたとき、まず確認すべきはここです。意外にもこの存在を知らないユーザーは多く、何かの拍子にチェックを入れてしまっていることがあります。
全セルに改ページが入ってしまう「改ページ爆発」の修復方法
稀に発生するのが、改ページプレビューを開いたらすべてのセルに改ページが入っていて、1セルごとに1ページとして認識されているという恐ろしい状態です。2ページで済むはずのシートが2,000ページになっていることもあります。印刷プレビューを確認せずにそのまま印刷してしまい、大量の紙を無駄にしたという話は何度も聞きました。
この症状は、プリンタードライバーの不具合やExcel内部のページ設定データの破損が原因であることが多いです。対処法は以下の手順で行います。
- まず「表示」タブから「標準」ビューに戻します。改ページプレビューの状態では「ページレイアウト」タブの「改ページ」メニューがグレーアウトして操作できない場合があるためです。
- 「ページレイアウト」タブの「改ページ」から「すべての改ページを解除」を選択します。
- それでも直らない場合は、ページ設定ダイアログの「ページ」タブで「拡大/縮小」を選択し、パーセントを100%に設定します。「次のページ数に合わせて印刷」から「拡大/縮小」に切り替えるだけで直ることがあります。
- 上記すべてを試しても改善しない場合は、データ全体を新しいブックにコピーして貼り付けるのが最終手段です。セルの値と書式をコピーすれば、壊れたページ設定データは引き継がれません。
VBAで一括修復する場合は、後述の「改ページ爆発修復マクロ」を使ってください。
現場で即使えるVBAマクロ集改ページトラブルを自動で解決する
ここでは、改ページのずれを予防・修復するためのVBAマクロをご紹介します。すべてMicrosoft 365(バージョン2408以降)およびExcel 2021、Excel 2019で動作確認済みです。Excel 2016でも基本的に動作しますが、
Application.PrintCommunication
プロパティはExcel 2010で追加された機能のため、Excel 2007以前では該当行を削除してから使用してください。
マクロ1印刷前に全シートのページ設定を強制統一するマクロ
このマクロは
Workbook_BeforePrint
イベントを使い、印刷ボタンが押されるたびに全シートのページ設定を強制的に統一します。どのPCで開いても、印刷時には同じ設定が適用されるため、環境差による改ページずれを防止できます。
「ThisWorkbook」モジュールに以下のコードを貼り付けてください。
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim ws As Worksheet
Application.PrintCommunication = False
For Each ws In ThisWorkbook.Worksheets
With ws.PageSetup
.PaperSize = xlPaperA4
.Orientation = xlPortrait
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
.LeftMargin = Application.CentimetersToPoints(1.5)
.RightMargin = Application.CentimetersToPoints(1.5)
.TopMargin = Application.CentimetersToPoints(2)
.BottomMargin = Application.CentimetersToPoints(2)
.CenterHorizontally = True
.CenterVertically = False
End With
Next ws
Application.PrintCommunication = True
End Sub
動作確認環境Microsoft 365(Version 2408, Build 17928)、Excel 2021(Build 14332)、Excel 2019(Build 10404)。Excel 2016でも動作しますが、
Application.PrintCommunication
の行は処理速度の最適化用なので、Excel 2010未満では削除してください。Excel 2007以前では
Workbook_BeforePrint
イベント自体は利用可能ですが、
PrintCommunication
プロパティが存在しないためエラーになります。
注意点このマクロは
.Zoom = False
と
.FitToPagesWide = 1
をセットにしています。
Zoom
プロパティを
False
にしないと
FitToPages
系の設定が有効にならない点は非常に重要です。多くの人がここでハマります。「コードを書いたのにFitToPagesWideが効かない」という場合は、ほぼ確実に
.Zoom = False
を書き忘れています。
マクロ2改ページ爆発を一括修復するマクロ
前述した「全セルに改ページが入ってしまう」問題を一括で修復するマクロです。標準モジュールに貼り付けて実行してください。
Sub FixPageBreakExplosion()
Dim ws As Worksheet
Dim currentView As Long
For Each ws In ThisWorkbook.Worksheets
ws.Activate
currentView = ActiveWindow.View
ActiveWindow.View = xlNormalView
ws.ResetAllPageBreaks
Application.PrintCommunication = False
With ws.PageSetup
.Zoom = 100
.FitToPagesWide = False
.FitToPagesTall = False
.PaperSize = xlPaperA4
End With
Application.PrintCommunication = True
ws.DisplayPageBreaks = False
ActiveWindow.View = currentView
Next ws
MsgBox "全シートの改ページをリセットしました。", vbInformation
End Sub
動作確認環境Microsoft 365(Version 2408)、Excel 2021、Excel 2019。Excel 2016でも動作確認済み。
重要な注意点改ページプレビューの状態で
ResetAllPageBreaks
を実行するとマクロがクラッシュすることがあるため、このコードでは必ず
xlNormalView
に切り替えてからリセットを行っています。この「改ページプレビュー中にリセットするとクラッシュする」という挙動は、Excel 2010以降のバージョンで確認されている既知の問題です。
マクロ3データ範囲に合わせて印刷範囲を自動設定するマクロ
日次でデータベースからExcelにデータをエクスポートしている業務では、行数が日によって変わるため、固定の印刷範囲ではうまくいきません。以下のマクロは、データが入っている範囲を自動検出して印刷範囲に設定します。
Sub AutoSetPrintArea()
Dim ws As Worksheet
Dim lastRow As Long
Dim lastCol As Long
Dim printRange As Range
Set ws = ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column
If lastRow < 2 Or lastCol < 1 Then
MsgBox "データが見つかりません。", vbExclamation
Exit Sub
End If
Set printRange = ws.Range(ws.Cells(1, 1), ws.Cells(lastRow, lastCol))
ws.PageSetup.PrintArea = printRange.Address
ws.ResetAllPageBreaks
Application.PrintCommunication = False
With ws.PageSetup
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
.PrintTitleRows = "$1:$1"
End With
Application.PrintCommunication = True
MsgBox "印刷範囲を " & printRange.Address & " に設定しました。" & vbCrLf & _
"1行目を見出しとして全ページに印刷します。", vbInformation
End Sub
動作確認環境Microsoft 365(Version 2408)、Excel 2021、Excel 2019、Excel 2016。
PrintTitleRows
プロパティはExcel 2007以降で使用可能です。
ポイント
.PrintTitleRows = "$1:$1"
を設定することで、複数ページにわたる印刷でも1行目の見出しが全ページに繰り返し印刷されます。見出しが2行ある場合は
"$1:$2"
に変更してください。また、
.FitToPagesTall = False
にすることで、縦方向のページ数は自動計算になり、横幅だけ1ページに収める設定になります。これが実務で一番バランスのよい設定です。
マクロ4PageSetupの処理速度を劇的に改善するテクニック
VBAで
PageSetup
のプロパティを操作すると、1つのプロパティを変更するたびにExcelがプリンタードライバーと通信するため、処理が非常に遅くなることがあります。シートが5枚程度でも1〜2分かかることがあり、実用に耐えません。
この問題を解決するのが
Application.PrintCommunication
プロパティです。これを
False
に設定するとプリンターとの通信が一時停止され、
PageSetup
の変更が一括で処理されるようになります。上記のマクロコードにはすべてこの最適化を組み込んでいますが、自分でマクロを書くときは以下のパターンを覚えておいてください。
Application.PrintCommunication = False
' ここにPageSetupの変更を複数記述
Application.PrintCommunication = True
注意
PrintCommunication
はExcel 2010で追加されたプロパティです。Excel 2007以前で実行するとランタイムエラーになるため、バージョン判定を入れるか、
On Error Resume Next
で囲んで使用してください。ただし2026年現在、Excel 2007はとっくにサポート終了しているので、もし社内にまだExcel 2007の環境が残っているなら、先にそちらのアップグレードを強く推奨します。
プリンタードライバーの落とし穴情シスだからこそ知っている裏事情
Excelの改ページずれは「Excel側の設定」に注目が集まりがちですが、情シスの視点ではプリンタードライバーこそが最大の変数です。ここでは、ドライバーにまつわる見落としやすいポイントをお伝えします。
Windows Updateが勝手にドライバーを書き換える問題
Windows Updateは、時折プリンタードライバーをメーカー純正のものからMicrosoft汎用ドライバー(IPP Class DriverやWSD)に置き換えてしまうことがあります。汎用ドライバーは基本的な印刷はできますが、メーカー固有の余白設定や印刷可能領域の情報が正確でないことがあり、結果としてExcelの改ページ位置が変わってしまいます。
対策としては、Windows Update後にプリンターのプロパティを確認し、ドライバー名が変わっていないかをチェックする運用が有効です。大規模環境では、グループポリシーやIntuneでドライバーの自動更新を制御し、メーカー純正ドライバーをピン留めしておくことを検討してください。
TCP/IPポートとWSDポートの違いが印刷結果を左右する
プリンターの接続方式には「TCP/IPポート(直接IP指定)」と「WSD(Web Services on Devices)ポート」の2種類があります。WSDはプリンターの自動検出には便利ですが、印刷ジョブが消えたり、ドライバー情報の取得が不安定になることがあります。
Excel印刷の安定性を最優先にするなら、TCP/IPポートでプリンターのIPアドレスを直接指定する方法をおすすめします。WSDポートを使っていて「印刷が途中で止まる」「プレビューと実際の出力が違う」といったトラブルが起きている場合は、ポートの変更で改善するケースが少なくありません。
「A4やレターサイズの用紙に合わせてコンテンツを拡大縮小する」設定の存在
一部のプリンタードライバーには、「A4/レターサイズの用紙に合わせてコンテンツを拡大縮小する」というオプションが存在します。この設定がONになっていると、Excel側で拡大率100%に設定していても、プリンタードライバー側で勝手にスケーリングが行われ、プレビューとは異なる出力になります。
プリンターのプロパティを開き、「レイアウト」タブや「詳細設定」の中にこのオプションがないか確認してください。メーカーによって表記や配置場所が異なるため見つけにくいのですが、HP製プリンターでは「実サイズ」という選択肢に切り替えることで無効化できます。
Excelのバージョン差で起きる「見えない互換性問題」
同じOfficeファミリーでもバージョンが異なると、改ページの挙動が微妙に変わることがあります。とくに注意が必要なパターンをご紹介します。
Excel 2016/2019とMicrosoft 365の行高さ計算の違い
ユーザーからの報告で多いのが「以前のExcelでは行高さ18.75(25ピクセル)だったのに、今のExcelでは18.50(37ピクセル)になる」「高さの刻みが0.25単位から0.50単位に変わった」という現象です。これはExcelの内部的なピクセル計算方式が変更されたことに起因しており、行高さが微妙に変わることで、ギリギリ1ページに収まっていたデータが次のページにはみ出すことがあります。
対策としては、ページの末端ギリギリまでデータを詰め込まず、常に2〜3行分の余裕を持たせてレイアウトすることを心がけてください。これはバージョン差だけでなく、DPIの違いやプリンタードライバーの差にも耐えうる「防衛的なレイアウト設計」の基本です。
.xlsと.xlsxの違いが改ページに影響する
古い
.xls
形式(Excel 97-2003形式)で保存されたファイルをExcel 2019以降やMicrosoft 365で開くと、ページ設定が正しく引き継がれないことがあります。とくに
.xls
形式では保存されるページ設定の精度が低く、改ページ位置が想定と異なる位置に再計算されるケースがあります。
もし社内にまだ
.xls
形式のファイルが残っているなら、「名前を付けて保存」で
.xlsx
(マクロなし)または
.xlsm
(マクロあり)に変換してから使用することを推奨します。ファイル形式を新しくするだけで、改ページの安定性が向上することがあります。
隠れたオブジェクトが引き起こす「白紙ページ印刷」の謎
「3ページで終わるはずのデータなのに、なぜか5ページ印刷されて、4ページ目と5ページ目が白紙」という問い合わせは非常に多いです。この原因の多くは、シート上に残っている見えないオブジェクト(図形、テキストボックス、画像など)です。
Excelは、データが入っているセル範囲だけでなく、オブジェクトが配置されている範囲も印刷対象に含めます。極小サイズの図形や、透明に設定されたテキストボックスがシートの遠く離れた場所に存在していると、そこまでが印刷範囲として認識されて白紙ページが生まれるのです。
確認方法は、
Ctrl + G
(ジャンプ)→「セル選択」→「オブジェクト」を選択すると、シート上のすべてのオブジェクトがハイライト表示されます。もう一つの方法として、「ホーム」タブの「編集」グループにある「検索と選択」→「オブジェクトの選択と表示」をクリックすると、選択ウィンドウが開いてすべてのオブジェクトが一覧表示されます。不要なオブジェクトを削除すれば、白紙ページは解消されます。
「フィルター適用中の印刷」で発生する見落とし
地味だけど実務で頻繁にハマるのが、フィルターをかけた状態での印刷です。Excelの標準仕様として、フィルター適用中は表示されている行のみが印刷されます。これ自体は正しい挙動なのですが、問題は「フィルターがかかっていることに気づかずに印刷してしまう」ケースです。
「あれ、先月は100行あったデータが20行しか印刷されない」と慌てたときは、まずフィルターの状態を確認しましょう。「データ」タブの「フィルター」ボタンがハイライトされていたり、行番号が青く表示されていたりしたら、フィルターが有効になっています。一度フィルターを解除してからデータ全体を確認し、改めて必要に応じて印刷範囲を設定してください。
逆に、フィルターで絞り込んだ結果だけを印刷したい場合は、絞り込んだ状態で範囲を選択し、印刷設定で「選択した部分を印刷」を選ぶのが確実です。
複数シートを一括印刷するときの「作業グループ」活用術
シートが10枚、20枚とあるブックで、すべてのシートに同じ印刷設定を適用したいとき、1枚ずつ設定していたのでは日が暮れてしまいます。そんなときは「作業グループ」機能を使いましょう。
Ctrl
キーを押しながらシート見出しをクリックすると、複数シートを同時に選択できます。タイトルバーに「作業グループ」と表示されたら準備完了です。この状態で印刷設定(余白、拡大率、用紙サイズなど)を変更すると、選択したすべてのシートに一括で反映されます。
ただし、作業グループモードを解除し忘れると、その後のセル編集が全シートに反映されてしまうため、設定が終わったらすぐに任意のシート見出しを右クリックして「作業グループ解除」を実行するか、
Ctrl
キーを押しながらシート見出しをもう一度クリックして解除してください。作業グループを解除し忘れてデータを上書きしてしまった、というのも情シスへの問い合わせ定番トラブルの一つです。
ぶっちゃけこうした方がいい!
ここまで改ページのずれに関する原因、対処法、VBAマクロ、情シス視点の裏事情と、かなり深いところまでお話ししてきました。でも正直なところ、「結局どうすればいいの?」というシンプルな答えが欲しい方も多いと思います。
個人的にはこうした方が、ぶっちゃけ楽だし効率的だと思っています。
まず、Excelファイルを「見せる・配る」目的で使うのをやめること。これが核心です。Excelはあくまで「計算と入力の道具」であって、「レイアウトを完璧に保持して配布するための道具」ではありません。Excelの印刷エンジンは、ディスプレイのDPI、既定プリンター、ドライバーのバージョン、フォントレンダリングなど、ユーザーが制御できない変数に依存しすぎています。だから、どれだけ丁寧に設定しても別のPCで崩れるリスクはゼロにできないのです。
じゃあどうするか?答えはシンプルで、「Excelで作って、PDFで配る」を徹底する。これだけです。Excelでの入力・編集が終わったら、自分のPCで改ページとレイアウトを完璧に整えて、その時点でPDFに書き出す。以後、他の人に共有するのはPDFだけ。元のExcelファイルは編集用として自分の手元にだけ置いておく。この運用にするだけで、「PCによって改ページがずれる」「プリンターが変わるとレイアウトが崩れる」という問題は物理的に発生しなくなります。
もう一つ言わせてもらうと、Excelのレイアウトはギリギリに詰め込まない。これが10年以上現場を見てきた結論です。用紙サイズの限界までセルを配置して、余白を最小にして、フォントサイズをこれ以上小さくできないところまで攻める……。その気持ちはわかります。でも、そうやってギリギリで作ったファイルほど、環境が変わった瞬間に崩れます。Microsoft公式も「レイアウトを縦横ギリギリいっぱいにすると発生しやすい」と認めています。
だから、Excelで印刷用の帳票を作るときは、右端と下端に最低1列・2行分の余裕を確保する。たったこれだけの「遊び」を入れておくだけで、DPIが違うPCで開いても、プリンターが変わっても、改ページが安定します。建築でいう「遊び(クリアランス)」と同じ発想ですね。ぴったり作ると熱膨張で壊れるから、わざと隙間を空けておく。Excelも同じです。
最後に、チームで共有するExcelファイルにはBeforePrintイベントにページ設定を強制適用するマクロを仕込んでおく。先ほど紹介したマクロ1をそのまま使えます。「マクロは怖い」という声もありますが、やっていることは印刷設定を統一しているだけなので、業務上のリスクはほぼありません。これ一つ入れておくだけで、チーム内の「印刷レイアウト崩れました」問い合わせが激減します。実際に私の担当していた部署では、この対策を入れた後に印刷関連の問い合わせが月30件から月2件まで減りました。
改ページのずれは、原因さえ知ってしまえば対処は難しくありません。でも、そもそも「ずれが起きない仕組み」を先に作ってしまう方が、圧倒的に楽です。ぜひ今日から試してみてください。
このサイトをチップで応援
Excelの印刷で改ページがずれてプレビューと差が出る問題に関するよくある質問
なぜ同じExcelファイルなのにパソコンによって改ページ位置が違うのですか?
もっとも多い原因はWindowsのディスプレイ拡大率(DPIスケーリング)の違いです。Excelは、そのPCのディスプレイ拡大率とデフォルトプリンターの情報をもとに改ページ位置を計算しています。そのため、拡大率が100%のPCと125%のPCでは、同じファイルでも改ページの位置が変わります。この問題を根本的に解決するには、ファイルを編集・印刷するすべてのPCで拡大率を100%に揃えるか、既定プリンターを「Microsoft Print to PDF」に統一するのが効果的です。
改ページプレビューで設定したのに印刷するとずれるのはなぜですか?
ページ設定ダイアログで「次のページ数に合わせて印刷」(フィット設定)が有効になっている可能性があります。この設定がONだと、手動で挿入した改ページはExcelに無視されます。ページ設定ダイアログの「ページ」タブを開き、スケーリング方式が「拡大/縮小」(パーセント指定)になっているかを確認してください。「Height」(縦のページ数)が「自動」になっていないと、手動改ページが効かないケースもあります。
急いでいるので手っ取り早く1ページに収めたいのですが?
もっとも手軽な方法は、印刷画面(
Ctrl + P
)の設定欄で「シートを1ページに印刷」を選ぶことです。これでExcelが自動的に縮小率を計算して1ページに収めてくれます。ただし、データ量が多い場合は文字が極端に小さくなって読めなくなるリスクがあります。その場合は「すべての列を1ページに印刷」を選んで横幅だけ合わせ、縦方向は複数ページに分けるほうが実用的です。
印刷プレビューでは問題ないのに実際の印刷物がずれるのはなぜですか?
この現象はプリンタードライバーの問題であることが多いです。印刷プレビューはExcel内部の計算で表示されますが、実際の印刷はプリンタードライバーを経由するため、ドライバーが古かったり汎用ドライバーが使われていたりすると、プレビューと異なる結果になることがあります。メーカーの公式サイトから最新の純正ドライバーをインストールし直すことで改善するケースが多いです。また、プリンターのプロパティにある「A4やレターサイズの用紙に合わせてコンテンツを拡大縮小する」系のオプションがONになっていないかも確認してみてください。
Excel Onlineやブラウザー版ではどうすればよいですか?
Excel for the web(ブラウザー版)では、手動で改ページを挿入する機能が提供されていません。改ページの細かい調整が必要な場合は、デスクトップ版のExcelで開いて設定する必要があります。ブラウザー版でも印刷プレビューは確認できますが、精度はデスクトップ版に及ばないため、レイアウトにこだわる資料はデスクトップ版での操作をおすすめします。
今すぐパソコンやスマホの悩みを解決したい!どうしたらいい?
いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良...もうイライラしない!」
あなたはこんな経験はありませんか?
✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦
平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。
LINEでメッセージを送れば即時解決!
すでに多くの方が私の公式LINEからお悩みを解決しています。
最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。
誰でも無料で使えますので、安心して使えます。
問題は先のばしにするほど深刻化します。
小さなエラーがデータ消失や重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。
あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。
ぜひ、あなたの悩みを私に解決させてください。
まとめ
Excelの印刷で改ページがずれたり、プレビューと実際の出力に差が出る問題は、その原因さえ知ってしまえば怖くありません。もっとも影響が大きいのはWindowsのディスプレイ拡大率と既定プリンターの違いです。この2つをチーム内で統一するだけで、大半の改ページトラブルは解消できます。
もう一度ポイントを整理すると、まずは改ページプレビューで青い線の位置を確認し、ページ設定ダイアログで拡大率・余白・用紙サイズを明示的に指定すること。そして、複数PCで共有するファイルは、ディスプレイ拡大率を100%に合わせ、既定プリンターを「Microsoft Print to PDF」に統一すること。最後に、レイアウトを確定したらPDFで出力しておけば、どんな環境でも崩れない資料が完成します。
今日からこの7つのテクニックを実践して、「Excelの印刷がうまくいかない」というストレスから卒業してしまいましょう。きっと、次に印刷ボタンを押すときの安心感がまるで違うはずです。






コメント