エクセルVBAで印刷で用紙のヘッダーに日付と社名を2行表示する方法

印刷ヘッダー設定VBA

印刷する時に用紙の上部右端のヘッダー部分に自動的に、今日の日付や会社名などを表示させたいことありませんか?

ページ設定のヘッダーにVBAのPageSetupを使って自動登録と自動表示をさることができますよ。

目次

ヘッダーにページの設定をする

ここでは、ユーザーフォームに配置したコマンドボタンにVBAコードを書き、表示中のシートのページ設定(ActiveSheet)で記載しています。

シートを指定する場合はActiveSheetWorkSheets(“シート名”)に変えるだけです。

ヘッダーにフォント指定して日時を表示

VBAを使わずに直接ページ設定でもできますが、印刷するたびに設定確認が必要なのでVBAで自動的に修正して印刷できるようにしましょう。

まずはエクセルファイルの作成日付をヘッダーの右端に表示するように設定します。

作成日付をヘッダー右端に設定

Private Sub CommandButton1_Click()
With ActiveSheet.PageSetup
.RightHeader = “&””HGP明朝E””&I作成日時:&D-&T”
End With
End Sub

解説
  1. コマンドボタン1がクリックされたら
  2. 表示中のシートのページ設定をする
  3. ヘッダーの右端に斜字で「HGP明朝E」のフォントで作成日時を表示
  4. Withステートメント終了
  5. マクロ記録終了

ここでは斜字(&I)にしましたが、下線ならば(&U)をすれば変更可能ですし、フォントも好きな字体に書き換えれば可能ですよ。

ヘッダーに社名など好きな文字を表示

そして会社名や好きな文字列をヘッダーに表示させるならば、シンプルにこのようにVBAコードを書けば完成で、ここでは「とりっぷぼうる」とヘッダーに表示させます。

ヘッダーに「とりっぷぼうる」と表示させる

Private Sub CommandButton1_Click()
With ActiveSheet.PageSetup
.RightHeader = “とりっぷぼうる”
End With
End Sub

とてもシンプルになりますので簡単ですね。

ヘッダー・フッターに2行で表示させる

せっかく日時と社名をヘッダーにVBAを使って表示させることができたのだから、同時に1行ではなく2行に分けて(改行)して表示させていですよね。

ヘッダー・フッター2行表示方法

Private Sub CommandButton1_Click()
With ActiveSheet.PageSetup
.RightHeader = “&””HGP明朝E””&I作成日時:&D-&T” & vbCrLf & “とりっぷぼうる”
End With
End Sub

解説
  1. コマンドボタン1がクリックされたら
  2. 表示中のシートのページ設定をする
  3. ヘッダーの右端に斜字で「HGP明朝E」のフォントで作成日時を表示、改行して、とりっぷぼうると表示
  4. Withステートメント終了
  5. マクロ記録終了

ヘッダーに2行表示させるのは、シンプルに改行を指示する「& vbCrLf &」を挟んだだけなのでとても簡単ですよ。

目次