Excelで作成したシートを印刷する際、「1ページに収めたい」「縦向きにしたい」「A4サイズに設定したい」といった要望はありませんか?手作業でこれらの設定をするのは手間ですが、VBAを使えばワンクリックで完了できます。
今回は、印刷設定に特化したシンプルなVBAコードをご紹介します。
印刷設定を行うVBAコード
以下が印刷設定を行う部分のVBAコードです。このコードを使えば、指定したシートを以下の条件で印刷できるようになります。
- 横方向1ページ、縦方向1ページに収める
- A4サイズで印刷
- シート全体を印刷範囲に設定
- 印刷向きを縦に設定
印刷設定のコード
Sub ConfigurePrintSettings()
Dim outputSheet As Worksheet
' 出力シートを設定
Set outputSheet = ThisWorkbook.Sheets("sheet1") ' シート名を適宜変更してください
' 印刷設定
With outputSheet.PageSetup
.Zoom = False ' 拡大縮小を無効化
.FitToPagesWide = 1 ' 横方向に1ページに収める
.FitToPagesTall = 1 ' 縦方向に1ページに収める
.Orientation = xlPortrait ' 縦向き
.PaperSize = xlPaperA4 ' A4用紙サイズ
.PrintArea = outputSheet.UsedRange.Address ' シート全体を印刷範囲に設定
End With
End Sub
コードの解説
1. Zoomプロパティ
.Zoom = False
印刷時の拡大縮小を無効化します。これにより、シートの内容が拡大または縮小されることなく、指定したページ設定に従います。
2. FitToPagesWideプロパティとFitToPagesTallプロパティ
.FitToPagesWide = 1
.FitToPagesTall = 1
印刷時に横方向と縦方向で1ページに収める設定です。このプロパティを調整することで、複数ページにまたがるシートも自動的にサイズ調整されます。
3. Orientationプロパティ
.Orientation = xlPortrait
印刷の向きを「縦向き」に設定します。「横向き」にしたい場合は、xlLandscapeを指定してください。
4. PaperSizeプロパティ
.PaperSize = xlPaperA4
用紙サイズをA4に設定します。他の用紙サイズを使用する場合は、xlPaperLetter(レターサイズ)など、目的に応じたプロパティ値を指定してください。
5. PrintAreaプロパティ
.PrintArea = outputSheet.UsedRange.Address
シート全体を印刷範囲に設定します。UsedRangeを使うことで、使用しているセル範囲を自動的に取得して印刷範囲とします。
応用:複数シートに適用するには?
複数のシートに同じ設定を適用したい場合、以下のようにコードを変更できます。
Sub ConfigurePrintSettingsForAllSheets()
Dim ws As Worksheet
' 全てのシートに対して設定
For Each ws In ThisWorkbook.Sheets
With ws.PageSetup
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.Orientation = xlPortrait
.PaperSize = xlPaperA4
.PrintArea = ws.UsedRange.Address
End With
Next ws
End Sub
おわりに
VBAを活用すれば、手作業で行う手間のかかる設定を簡単に自動化できます。業務効率をアップするために、ぜひこのコードを活用してみてください。
技術書の購入コストを抑えてスキルアップするなら

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。
プログラミングの技術書や参考書は、1冊3,000円〜5,000円するものも多く、出費がかさみがちです。Kindle Unlimitedであれば、月額980円で500万冊以上の書籍が読み放題となります。
気になる言語の入門書から、アルゴリズム、基本設計の専門書まで、手元のスマホやPCですぐに参照可能です。現在は「30日間の無料体験」や、対象者限定の「3か月499円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。
