エクセルVBAでの印刷設定(PageSetup)縦横を1ページに設定、他

エクセルの印刷設定を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列以降は適当なデータを入力しています。

サンプル

結果の一部

印刷設定
目次