資料室 > 印刷 > ヘッダー/フッターで任意の日付形式表示

ヘッダー/フッターで任意の日付形式表示

ページ設定でヘッダー/フッターに設定できる日付形式は「yyyy/mm/dd」の西暦表示固定。(OSの日付表示形式による)これを自動で「平成e年m月d日」のような任意の日付形式表示とするには、マクロを使用する。

ヘッダー中央に和暦「平成e年m月d日」形式で表示する

  1. 目的のブックを開く。
  2. Alt+F11 でVBE(Visual Basic Editor)を起動 (メニュー[ツール(T)]>[マクロ(M)]>[VBE(V)])
  3. VBAPojectでブック名を確認し目的のブックのThisWorkbookモジュールをダブルクリック
  4. 表示されたコードウィンドウへ下記のコードをコピー、貼付、Alt+QでExcelにもどる。

Private Sub Workbook_BeforePrint(Cancel As Boolean)
  ActiveSheet.PageSetup.CenterHeader = Format(Date, "ggge年m月d日")
End Sub

アクティブシートに対する設定のみなので、複数シートを同時に選択して印刷する場合にはアクティブでないシートには適用されない。また逆に、印刷時にアクティブなシートでA1の値がヘッダー/フッターに反映されてしまうため、印刷時にこのマクロが適用されると不便な場合も想定される。
特定のシートにのみ適用するには下記のようなコードでシートを限定する。

Private Sub Workbook_BeforePrint(Cancel As Boolean)
  With ActiveSheet
    If .Name = "Sheet1" Then .PageSetup.CenterHeader = _
    Format(Date, "ggge年m月d日")
  End With
End Sub

もし、マクロを使用できない、もしくはマクロを使用したくない場合にはセルにTODAY関数(=TODAY())を入力した上で、[ファイル(F)]>[ページ設定(U)]>シートタブで[行のタイトル(R)]の設定を行うことで全てのページに日付のセルを表示するようにするなどして、ヘッダーと併用するような工夫が必要。

【参考】

ヘッダー/フッター位置
LeftHeader  左ヘッダー
CenterHeader 中ヘッダー
RightHeader  右ヘッダー
LeftHeader  左フッター
CenterHeader 中フッター
RightFooter 右フッター

日付形式の例(Format関数に指定する日付形式文字列)
"ge.m.d" H15.6.20
"ggge年m月d日" 平15年6月20日
"yyyy/mm/dd(aaa)" 2003/06/20(金)


前(セルの値をヘッダー/フッターに) 目次 次(可変印刷範囲設定)


SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送