【VBAリファレンス|実務向け】実務で差がつく!VBAで印刷設定を「中央揃え」に自動化するテクニック

スポンサーリンク

皆さん、こんにちは。現場で役立つVBA術をお届けする講師です。今回は、意外と見落としがちな「印刷時のレイアウト」をVBAで制御する方法について解説します。

なぜ「中央揃え」をコードで書くべきなのか

実務では、作成した帳票をPDF化したり、紙で配布したりする機会が頻繁にあります。その際、毎回手動で「ページレイアウト」タブから「ページ設定」を開き、余白設定で「水平・垂直方向に中央揃え」にチェックを入れるのは、非常に非効率です。

特に、データ量によって行数が変動する帳票の場合、印刷範囲をVBAで調整したとしても、出力結果が左上に寄ってしまうと、受け取った相手に「素人っぽい資料だな」という印象を与えてしまいます。プロとして、印刷の仕上げまで自動化するのがスマートです。

CenterHorizontallyとCenterVerticallyの基本

印刷設定を司るPageSetupオブジェクトには、水平と垂直の中央揃えを指定するプロパティが用意されています。

コードの基本形
ActiveSheet.PageSetup.CenterHorizontally = True
ActiveSheet.PageSetup.CenterVertically = True

この2行をマクロに組み込むだけで、どんなサイズのデータであっても、必ず用紙の真ん中に配置されます。

現場で使える!実践的な実装例

単に設定するだけでなく、他の設定と組み合わせるのが実務のコツです。以下は、私が実際の業務でよく使う「印刷最適化」のテンプレートです。

Sub 印刷設定を整える()
With ActiveSheet.PageSetup
.Zoom = False ‘ 拡大縮小倍率をオフにする
.FitToPagesWide = 1 ‘ 横幅を1ページに収める
.FitToPagesTall = False ‘ 縦は自動調整

‘ ここで中央揃えを実行
.CenterHorizontally = True
.CenterVertically = True
End With
End Sub

講師からのアドバイス:注意すべき「罠」

ここで一つ、ベテランとしてのアドバイスです。CenterVertically(垂直方向の中央揃え)には注意が必要です。

もし、そのシートに「フッター」や「ページ番号」を細かく設定している場合、垂直方向の中央揃えが適用されると、意図せず余白のバランスが崩れ、フッターが読み取りにくい位置に配置されることがあります。

「水平方向(CenterHorizontally)は常にTrueで良いが、垂直方向はシートの構成を見てから判断する」というのが、多くの現場でトラブルを避けるための判断基準です。

ぜひ皆さんのマクロにもこの設定を組み込み、「誰が見ても美しい資料」を自動生成できるようにしてみてください。小さなこだわりが、あなたの評価を大きく変えますよ。

タイトルとURLをコピーしました