エクセルの印刷設定をVBAで設定する方法です。
サンプルで使用するワークシート:同じシートにあるデータの分割で数式も反映させる
目次
印刷設定の例
設定する箇所の例です。
- 印刷向き:横
- 縦横を何ページで印刷するか:横は1ページ、縦は自動
- 印刷タイトル:1行目
- ヘッダー右:日付
- フッター左:ファイルパス
- フッター右:ページ数/総ページ数




サンプルVBA(マクロ)
Worksheet オブジェクトの PageSetup プロパティを使います。
サンプルコード
Sub sample()
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.Zoom = False
.FitToPagesTall = False
.FitToPagesWide = 1
.PrintTitleRows = "$1:$1"
.RightHeader = "&D"
.LeftFooter = "&Z&F"
.RightFooter = "&P/&N"
End With
End Sub
簡単な説明
- 2行目:アクティブシートに対して設定します。「With Worksheets("シート名")」でも可。
- 3行目:印刷向きは横
- 4行目:5行目と6行目の設定を有効にするために、ZoomプロパティをFalseに設定します
- 5行目:縦は自動で印刷
- 6行目:横は1ページで印刷
- 7行目:印刷タイトルを1行目にする
- 8行目:ヘッダー右に日付
- 9行目:フッター左にファイルパス
- 10行目:フッター右にページ数/総ページ数
わからない場合は、マクロの記録を開始した状態で設定し、できたコードの必要な部分だけ使えば簡単です。
サンプル例で実行した結果
同じシートにあるデータの分割で数式も反映させるでブックを分割したデータにマクロを実行しました。
I列以降は適当なデータを入力しています。

結果の一部

