ごきげんよう。VBA講師の私ですが、現場の相談で意外と多いのが「マクロで計算はできるのに、最後の印刷が汚くて直すのが面倒」という悩みです。データを作るだけでなく、相手が見やすい資料として出力するまでが「仕事」です。今回は、泥臭い手作業を自動化し、プロレベルの印刷設定を瞬時に行うテクニックを伝授します。
1. ページレイアウトの定型化を「記録」で終わらせない
多くの人が「ページレイアウト」タブをポチポチ操作して設定しますが、あれは時間の無駄です。VBAなら、どんな複雑な帳票でも一行で「完璧な幅」に収められます。
Zoomの設定ではなく、FitToPagesWideを使うのがコツです。
Sub 印刷設定の自動化()
With ActiveSheet.PageSetup
.Zoom = False
.FitToPagesWide = 1 ‘横幅を1ページに収める
.FitToPagesTall = False ‘縦は自動調整
.Orientation = xlLandscape ‘横向き
.CenterHorizontally = True ‘中央揃え
End With
End Sub
これを通しただけで、どんなに列が増えても「改ページプレビューで青い線をドラッグする」という非生産的な作業から解放されます。
2. 印刷したくない「作業用データ」をスマートに隠す
シートの右側に計算式を詰め込んだ「作業列」がある場合、印刷範囲を指定するだけでは不十分です。行の高さや列の幅がバラバラだと、意図せぬ余白が生まれるからです。
ここで役立つのが「非表示」と「可視セル」の活用です。
3. 「ヘッダー・フッター」に現在時刻とファイルパスを入れる
「この資料、いつのデータだっけ?」という質問に即答できるよう、フッターには必ず「ファイルパス」と「更新日時」を自動挿入しましょう。
.LeftFooter = “&F” ‘ファイル名
.RightFooter = “&D &T” ‘日付と時刻
これを設定しておくだけで、あとから「古いバージョンの資料を印刷して会議に出してしまった」という痛恨のミスを物理的に防ぐことができます。
4. ベテランの極意:印刷前に「PDF出力」を挟む
実務で最も重要なのは「いきなりプリンタに投げないこと」です。VBAで印刷設定を整えたら、まずはPDFとして出力し、フォルダに保存するコードを末尾に添えましょう。
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=”C:\Reports\” & Range(“A1”).Value & “.pdf”
このように、出力までをマクロで完結させることで、あなたの帳票は「単なるデータ」から「信頼されるドキュメント」へと昇華します。
明日から、手作業での印刷設定は禁止です。コード一つで完璧なレイアウトを叩き出し、周囲を驚かせてやりましょう。
