エクセルで表などを印刷するときにヘッダー・フッターに表示させる文字などを設定することができますが、これをマクロで設定する方法について説明します。
ページ設定のヘッダー/フッターの設定とは
まず手動で設定するときの手順のおさらいです。
エクセルの「ページ設定」画面を開くときは下の手順で設定画面を開きます。
ファイル⇒印刷⇒ページ設定の順に開きます。
ページ設定ウィンドウの中には「ページ」「余白」「ヘッダー/フッター」「シート」のタブがあります。
「ヘッダー/フッター」タブで編集が可能です。
マクロでヘッダー・フッターを設定する方法(コードの書き方)
マクロのコードを記述する際は、プリンタ接続を一旦オフに設定し、ページ設定を行う内容はWithステートメントで囲んで書く方法がおすすめです。
ヘッダー・フッターの表示位置は↓のように位置を指定します。
フッター・ヘッダー設定で指定できる文字
ヘッダー・フッターに設定できる内容には以下のものがあります。
よく使用するものを下の表にまとめてみました。
コード | 表示内容 |
&D | 現在の日付 |
&T | 現在の時刻 |
&F | ファイル名 |
&A | シート名 |
&P | ページ番号(〇ページ目) |
&N | 総ページ数 |
&Z | ファイル パス |
サンプル:ヘッダーに日付を設定する方法
よく使用する例として、右上に現在の日付を表示させる方法をマクロで実行してみます。
サンプルマクロで実行している内容
①プリンタ接続をオフにする
②ページ設定を行う
③ヘッダー(右位置)に日付
④プリンタ接続をオンにする
Sub sample1()
'プリンタ接続をオフにする
Application.PrintCommunication = False
'ページ設定を行う
With ActiveSheet.PageSetup
'ヘッダー(右位置)に日付
.RightHeader = "&D"
End With
'プリンタ接続をオンにする
Application.PrintCommunication = True
End Sub
マクロ実行後の印刷プレビュー画面です。
ヘッダーの右側部分に実行日の日付が表示されました。
「ページ設定」ウィンドウのヘッダー設定画面を見ると「右側」に「&[日付]」と表示されています。
サンプル:ヘッダーにページ数/総ページ数を設定する方法
次はこちらもよく使うページ数と総ページ数を表示する方法についてです。
サンプルマクロで実行している内容
①プリンタ接続をオフにする
②ページ設定を行う
③ヘッダー(右位置)にページ数/総ページ数を表示
④プリンタ接続をオンにする
Sub sample1()
'プリンタ接続をオフにする
Application.PrintCommunication = False
'ページ設定を行う
With ActiveSheet.PageSetup
'ヘッダー(右位置)にページ数/総ページ数を表示
.RightHeader = "&P/&N"
End With
'プリンタ接続をオンにする
Application.PrintCommunication = True
End Sub
マクロを実行するとヘッダーの右位置にページ数/総ページ数が表示されました。
この表では全部で2ページあり、そのうちの1ページ目ということが表示されています。
「ページ設定」ウィンドウのヘッダー設定画面を見ると「右側」に「&[ページ番号]/&[総ページ数]」と表示されています。
※コードのコピー利用について
・コードのコピーは自由におこなっていただけます。
・気を付けて作成はしていますがコードには誤りがある可能性があります。
・自身の環境で動作確認をしていますが、すべての方の環境で同様に動くことは保証できません。
・データの破損等の責任は負いかねますのでご自身の責任のもとお使いください。