ExcelVBA ページ番号をヘッダーやフッターに自動的に設定する方法

 

ExcelVBA ページ番号は、印刷時にドキュメントの順序や構成を明確にするための重要な要素です。VBAを使えば、ページ番号をヘッダーやフッターに自動的に設定することができます。使い方や注意点など、サンプルコードをもとに具体的に解説します。

 

日常業務でExcelを多用し、手動作業を減らしたいと考えている方へ
本サイト参考:Excel VBAで自動化するコードのベースを習得したい方におすすめの記事

 

Excel VBA ページ番号をヘッダーやフッターに自動的に設定シーン

以下のようなシーンで利用で表示します。

1.報告書や会議資料の作成
ページ番号を付けて分かりやすい資料を作成する。

2.大量のデータ出力
印刷ページが複数に分かれる場合、ページ番号を付けることで参照しやすくする。

3.自動化された印刷レイアウト
手動設定の手間を削減して、統一されたページ番号を付ける。

使い方

VBAでは、PageSetup オブジェクトの CenterHeader、LeftFooter、RightFooter プロパティを使用して、ページ番号を設定します。たとえば、&P を指定すると現在のページ番号、&N を指定すると総ページ数が取得できます。

ポイント

1.印刷プレビューで確認
ページ番号が意図した位置に正しく表示されるかを確認しましょう。

2.既存設定の確認
他のヘッダーやフッター設定が上書きされる可能性があるため、既存の設定を考慮する必要があります。

 

Excel VBA  ページ番号をヘッダーやフッターに自動的に設定のサンプルコード

基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事

ページ番号を中央フッターに設定

Option Explicit

Sub SetPageNumberFooter()
    Dim ws As Worksheet
    
    ' 対象シートを指定
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' ページ番号を中央フッターに設定
    With ws.PageSetup
        .CenterFooter = "ページ &P / &N" ' 現在のページ番号と総ページ数
    End With
    
    MsgBox "ページ番号を設定しました!"
End Sub

すべてのシートにページ番号を適用

Option Explicit

Sub ApplyPageNumbersToAllSheets()
    Dim ws As Worksheet
    
    ' すべてのシートをループして設定
    For Each ws In ThisWorkbook.Sheets
        With ws.PageSetup
            .CenterFooter = "ページ &P / &N"
        End With
    Next ws
    
    MsgBox "すべてのシートにページ番号を設定しました!"
End Sub

カスタムページ番号(フッターの左側に表示)

Option Explicit

Sub CustomPageNumber()
    Dim ws As Worksheet
    
    ' 対象シートを指定
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' フッター左にページ番号を設定
    With ws.PageSetup
        .LeftFooter = "レポート: ページ &P / &N"
    End With
    
    MsgBox "カスタムページ番号を設定しました!"
End Sub

ヘッダーにページ番号を設定

Option Explicit

Sub SetPageNumberInHeader()
    Dim ws As Worksheet
    
    ' 対象シートを指定
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' ヘッダーにページ番号を設定
    With ws.PageSetup
        .CenterHeader = "レポート ページ &P / &N"
    End With
    
    MsgBox "ヘッダーにページ番号を設定しました!"
End Sub

ExcelVBAを活用してページ番号をヘッダーやフッターに設定すれば、資料作成や印刷作業を効率化できます。&P(現在のページ番号)や  &N (総ページ数)を活用して、目的に応じた番号付けを行いましょう。

 

Excel VBAで自動化するコードのベースを習得したい方におすすめ!

VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。

 

Excel  VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。