エクセルVBAで印刷で用紙のヘッダーに日付と社名を2行表示する方法
印刷する時に用紙の上部右端のヘッダー部分に自動的に、今日の日付や会社名などを表示させたいことありませんか?
ページ設定のヘッダーにVBAのPageSetupを使って自動登録と自動表示をさることができますよ。
ヘッダーにページの設定をする
ここでは、ユーザーフォームに配置したコマンドボタンにVBAコードを書き、表示中のシートのページ設定(ActiveSheet)で記載しています。
シートを指定する場合はActiveSheetをWorkSheets(“シート名”)に変えるだけです。
ヘッダーにフォント指定して日時を表示
VBAを使わずに直接ページ設定でもできますが、印刷するたびに設定確認が必要なのでVBAで自動的に修正して印刷できるようにしましょう。
まずはエクセルファイルの作成日付をヘッダーの右端に表示するように設定します。
Private Sub CommandButton1_Click()
With ActiveSheet.PageSetup
.RightHeader = “&””HGP明朝E””&I作成日時:&D-&T”
End With
End Sub
- コマンドボタン1がクリックされたら
- 表示中のシートのページ設定をする
- ヘッダーの右端に斜字で「HGP明朝E」のフォントで作成日時を表示
- Withステートメント終了
- マクロ記録終了
ここでは斜字(&I)にしましたが、下線ならば(&U)をすれば変更可能ですし、フォントも好きな字体に書き換えれば可能ですよ。
ヘッダーに社名など好きな文字を表示
そして会社名や好きな文字列をヘッダーに表示させるならば、シンプルにこのようにVBAコードを書けば完成で、ここでは「とりっぷぼうる」とヘッダーに表示させます。
Private Sub CommandButton1_Click()
With ActiveSheet.PageSetup
.RightHeader = “とりっぷぼうる”
End With
End Sub
とてもシンプルになりますので簡単ですね。
ヘッダー・フッターに2行で表示させる
せっかく日時と社名をヘッダーにVBAを使って表示させることができたのだから、同時に1行ではなく2行に分けて(改行)して表示させていですよね。
Private Sub CommandButton1_Click()
With ActiveSheet.PageSetup
.RightHeader = “&””HGP明朝E””&I作成日時:&D-&T” & vbCrLf & “とりっぷぼうる”
End With
End Sub
- コマンドボタン1がクリックされたら
- 表示中のシートのページ設定をする
- ヘッダーの右端に斜字で「HGP明朝E」のフォントで作成日時を表示、改行して、とりっぷぼうると表示
- Withステートメント終了
- マクロ記録終了
ヘッダーに2行表示させるのは、シンプルに改行を指示する「& vbCrLf &」を挟んだだけなのでとても簡単ですよ。