【Excelマクロ】帳票出力時に印刷範囲&書式を自動調整するマクロ

Excelで帳票を印刷するとき、「見切れてしまう」「不要な空白が印刷される」「フォントサイズや余白がバラバラ」といったトラブルに悩まされたことはないでしょうか。

これらの多くは、「印刷範囲」や「ページ設定」の調整漏れが原因です。

今回は、印刷前に自動で設定を整えるマクロを紹介します。定型帳票を出力する業務において、事前に整える作業を自動化しておくことで、誰でもミスなく印刷できるようになります。

印刷前に調整するマクロの具体例

次のコードでは、対象のシートで印刷範囲・拡大縮小・余白・中央配置・用紙サイズなどを自動調整しています。

Sub PrintSettingsAuto()

    Dim ws As Worksheet
    Set ws = ActiveSheet

    With ws.PageSetup
        ' 使用しているセル範囲を印刷範囲に設定
        .PrintArea = ws.UsedRange.Address

        ' 1ページに収める(横1ページ・縦無制限)
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = False

        ' 用紙サイズをA4に設定
        .PaperSize = xlPaperA4

        ' 余白を最小限に設定
        .TopMargin = Application.InchesToPoints(0.5)
        .BottomMargin = Application.InchesToPoints(0.5)
        .LeftMargin = Application.InchesToPoints(0.5)
        .RightMargin = Application.InchesToPoints(0.5)

        ' 横・縦ともに中央に配置
        .CenterHorizontally = True
        .CenterVertically = True

        ' ヘッダー・フッターを空に
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
    End With

    MsgBox "印刷設定が完了しました", vbInformation
End Sub

このマクロを実行すれば、どのユーザーが出力しても印刷結果がブレにくくなり、きれいな帳票が出力されます。印刷設定の失敗によるやり直しが大幅に減ります。

UsedRangeとAddressの役割について

このマクロの中で使われている .UsedRange.Address はとても重要な部分です。

  • UsedRange:シート内で実際に使われているセル範囲を自動的に特定します。空白のセルは含まれません。
  • Address:UsedRangeで特定されたセル範囲のアドレス(例:”A1:D20″)を文字列として取得します。

つまり ws.UsedRange.Address とすることで、「このシートの中で実際に使っている部分だけを印刷対象にする」という設定が可能になります。

実装するメリット

帳票出力の前に自動で設定を整えておくことで、次のような利点があります。

  • 用紙サイズ・余白などの設定漏れによるトラブルを防止
  • 複数人での作業でも出力フォーマットを統一
  • 頻繁に印刷する帳票の業務を安定化
  • 印刷時に設定を手で変更する手間がなくなる
  • プレビューや確認の時間も削減できる

さらに、書式やヘッダー設定もマクロ内で制御できるため、将来的に追加ルールが出てきても柔軟に対応可能です。

まとめ

Excelでの帳票印刷を安定させるには、「印刷設定を自動化する」ことが鍵になります。

  • UsedRangeで印刷範囲を自動設定
  • 拡大縮小や用紙サイズを事前に指定
  • 余白や中央配置を整えてきれいに出力

マクロでこれらの設定を標準化しておけば、毎回同じ帳票品質を保つことができ、印刷ミスや作業ストレスを大きく減らせます。

「何度も同じ帳票を出す業務」には、こうした自動調整マクロの導入が非常に効果的です。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール