調べたいExcel-VBAの使用例などキーワードを入力してください

VBAで印刷ページ設定のヘッダーとフッターを指定する

Excel-VBA印刷

エクセルで作成した内容を印刷する時に、はみ出てしまったり、必要なところが印刷されていなかったりして失敗した経験ありませんか?

印刷ページ設定をVBAであらかじめ指定しておけば、共有パソコンや共有プリンターの環境でも失敗しないで印刷することができます。

スポンサーリンク

ヘッダー・フッターのページ設定

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

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

余白を指定する

用紙の上部と下部にタイトルやページ数など特に使用する事が無ければ、設定を「0pt」にして、余計な事柄を記載できないようにすることができます。

余白を無しに指定する

Private Sub CommandButton1_Click()
With ActiveSheet.PageSetup
.HeaderMargin = (0)
.FooterMargin = (0)
End With
End Sub

VBA解説
  1. コマンドボタン1がクリックされたら
  2. 表示中のシートのページ設定をする
  3. ヘッダーを0ptにする
  4. フッターを0ptにする
  5. Withステートメント終了
  6. マクロ記録終了

ヘッダーやフッターと並べて上下左右も一緒にVBAコードを書けば、全ての余白を同時に設定できますよ。

フッターにページ番号(自動連番)をつける

ページ番号をフッターに印刷すると、ページ番号は「1」から自動的に連番で付与されて印刷します。

一般的にページ番号は用紙の中央に表示されるので、ここでは中央フッターに表示するよう指定しています。

ページ番号をつける

Private Sub CommandButton1_Click()
ActiveSheet.PageSetup.CenterFooter = “&P”
End Sub

VBA解説
  1. コマンドボタン1がクリックされたら
  2. 表示中のシートのページ設定でフッターにページ数を中央に表示する
  3. マクロ記録終了
とりっぷぼうる
とりっぷぼうる

ページ数以外にも日付・時刻・ファイル名・シート名で表示することができます。

定数表示内容
&Pページ数
&D現在の日付
&T現在の時刻
&Fファイル名
&Aシート名

ヘッダー・フッターの表示位置の設定

ページ数をフッター中央に先ほど表示させましたが、ヘッダーにもフッターにも同じように表示させることができ、中央以外にも左寄せ・右寄せも可能なので、CenterFooterの部分を変更するだけです。

プロパティ表示位置プロパティ表示位置
LeftFooter左寄せフッターLeftHeader左寄せヘッダー
CenterFooter中央フッターCenterHeader中央ヘッダー
RightFooter右寄せフッターRightHeader右寄せヘッダー
スポンサーリンク

印刷関連VBA

スポンサーリンク
ボタン1つで作業完了へ
ちょっとの工夫でエクセル作業が飛躍的に早く終わったらいいなあ~と思いませんか? 面倒くさい作業よ!さようなら!

スポンサーリンク


印刷
参考になりましたらシェア宜しくお願い致します

山頂テラスデッキからの三段紅葉(2019年11月)

フリーパスって助成金つぎ込んでいいの?

コロナ禍のGo To トラベル以外にも助成金だらけでうらやましいね。

安くなったフリーパスで遊びに行きたいけど、給与も減って余裕ないよね。

Excel VBA