PR
スポンサーリンク

【ExcelVBA】マクロでページ設定のヘッダー・フッターの値を設定する方法

スポンサーリンク
エクセルVBA-マクロでページ設定のヘッダー・フッターを設定する方法-アイキャッチ 印刷設定・ページ設定
スポンサーリンク

エクセルで表などを印刷するときにヘッダー・フッターに表示させる文字などを設定することができますが、これをマクロで設定する方法について説明します。

スポンサーリンク
スポンサーリンク

ページ設定のヘッダー/フッターの設定とは

まず手動で設定するときの手順のおさらいです。
エクセルの「ページ設定」画面を開くときは下の手順で設定画面を開きます。

ファイル⇒印刷⇒ページ設定の順に開きます。
ページ設定ウィンドウの中には「ページ」「余白」「ヘッダー/フッター」「シート」のタブがあります。

エクセルのページ設定の表示方法の画像

「ヘッダー/フッター」タブで編集が可能です。

ページ設定_ヘッダーフッターの設定画面の画像
スポンサーリンク

マクロでヘッダー・フッターを設定する方法(コードの書き方)

マクロのコードを記述する際は、プリンタ接続を一旦オフに設定し、ページ設定を行う内容はWithステートメントで囲んで書く方法がおすすめです。

‘プリンタ接続をオフにする
Application.PrintCommunication = False

 ’ページ設定を行う
  With ActiveSheet.PageSetup
   ここに設定したい内容を記述する
  End With

‘プリンタ接続をオンにする
Application.PrintCommunication = True

ヘッダー・フッターの表示位置は↓のように位置を指定します。

.LeftHeader = “指定した文字”   …ヘッダー左位置
.CenterHeader
= “指定した文字” …ヘッダー中央
.RightHeader
= “指定した文字”  …ヘッダー右位置

.LeftFooter
= “指定した文字”   …フッター左位置
.CenterFooter
= “指定した文字”  …フッター中央
.RightFooter
= “指定した文字”  …フッター右位置

スポンサーリンク

フッター・ヘッダー設定で指定できる文字

ヘッダー・フッターに設定できる内容には以下のものがあります。
よく使用するものを下の表にまとめてみました。

コード表示内容
&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ページ目ということが表示されています。

ページ設定_ヘッダーにページ数と総ページ数を表示した画像

「ページ設定」ウィンドウのヘッダー設定画面を見ると「右側」に「&[ページ番号]/&[総ページ数]」と表示されています。

ページ設定_ヘッダーの設定画面の画像_ページ数
スポンサーリンク

※コードのコピー利用について

・コードのコピーは自由におこなっていただけます。
・気を付けて作成はしていますがコードには誤りがある可能性があります。
・自身の環境で動作確認をしていますが、すべての方の環境で同様に動くことは保証できません。
・データの破損等の責任は負いかねますのでご自身の責任のもとお使いください。

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