EXCEL VBA 印刷のページ設定 PageSetup(印刷・余白・拡大縮小・ヘッダー・フッター・ページ番号・用紙サイズ)

EXCEL VBA 印刷のページ設定 PageSetup(印刷・余白・拡大縮小・ヘッダー・フッター・ページ番号・用紙サイズ)

 

 

 ●はじめに
EXCEL等で表や計算書・グラフなどを作成して、紙などに印刷する際は、「印刷」⇒「ページ設定」を行いプレビュー画面を見ながら指定した用紙サイズに印刷が入るか確認すると思います。「ページ設定」は、用紙サイズ設定や余白設定・拡大縮小、ヘッダー・フッターの設定などを設定を行う事が出来ます。VBAでもEXCEL同様に「ページ設定」を利用する事ができ、VBAプログラムを利用して「ページ設定」を制御する事で、プログラムの処理条件による様々な「ページ設定」を行う事ができます。それでは、「ページ設定」の設定方法を順番に説明いたします。

 

VBAで印刷設定(ページ設定:ページタグ)

 

 ●書式の説明 (ページ設定:ページ)

オブジェクト.PageSetup.プロパティ = 設定値

『使用例』: Worksheets(“Sheet1”). PageSetup.PaperSize = xlPaperA5 ‘ 印刷する用紙をA5に指定

 

タブ設定内容PageSetupプロパティ設定値
『ページ』印刷の向きOrientationxlPortrait(縦)・xlLandscape(横)
拡大/縮小Zoom10~400の数値
ページ数に合わせて印刷(横)FitToPagesWide横方向のページ数
ページ数に合わせて印刷(縦)FitToPagesTall縦方向のページ数
用紙サイズPaperSizexPaperA4(A4サイズ)・xPaperA3(A3サイズ) 他
先頭ページ番号FirstPageSizexlAutomatic(自動)・ページ番号の数値

 

 

 ●プログラム説明 (サンプルプログラム①:ページ設定・ページタグ)
下記のサンプルプログラムは、『Sheet1』に『各支店別営業売上一覧表』が作成しています。この表をプレビュー画面をが表示しますとA4の縦でページ設定されているので、全てが表示されていません。ページ設定で、この『各支店別営業売上一覧表』がプレビュー画面(印刷サイズ)に収まる様に設定する方法を説明します。

 

 

 ●実行後 ※上記プログラムを実行後、下記の内容に変更しました。
①印刷向きを縦から横に変更
②指定する印刷用紙をA4に指定
③縦横のページを1ぺージに設定(1×1)
④フッターのページ番号を「5」ページに変更
(画像クリックして拡大)

 

 

VBAで印刷設定(ページ設定:余白タグ)

 

 

 ●書式の説明 (ページ設定:余白)

オブジェクト.PageSetup.プロパティ = 設定値

『使用例』: Worksheets(“Sheet1”). PageSetup.TopMargin = Application.CentimetersToPoints(3) ‘上余白を3cmに設定

『余白サイズ』設定方法

①Cm単位: PageSetup.TopMargin = Application.CentimetersToPoints(3)  ’3cm
②ポイント単位:PageSetup.TopMargin = 10  ’10ポイント(3.5cm)

※余白を設定する場合は、ポイント単位は、1ポイント(0.35mm)です。ポイントでの設定は、分かり辛いので、Application.CentimetersToPointsメゾットを利用して数値=Cm単位での設定がおすすめです。

 

タブ設定内容PageSetupプロパティ設定値
『余白』上余白TopMarginポイント単位の数値(上余白)
下余白BottomMarginポイント単位の数値(下余白)
左余白LeftMarginポイント単位の数値(左余白)
右余白RightMarginポイント単位の数値(右余白)
ページ中央(水平)CenterHorizontallyTrue  (ON)/ False (OFF)
ページ中央(垂直)CenterVerticallyTrue  (ON)/ False (OFF)

 

 ●プログラム説明 (サンプルプログラム②:ページ設定・余白タグ)
下記のサンプルプログラムは、『Sheet1』のシートに対して印刷設定:ページ設定の余白設定を行うプログラムです。下記のページ設定は、プログラム実行前の「余白」設定の状況です。この余白の設定をプログラムで変更します。

 

 

 ●実行後 ※上記プログラムを実行後、下記の内容に変更しました。
①余白(上・下・右・左)の設定を変更
②余白(ヘッダー・フッター)の設定を変更
③ページ中央水平:ON ・ページ中央垂直:OFFに設定変更
(画像クリックして拡大)

 

 

VBAで印刷設定(ページ設定:ヘッダー・フッター)

 

 

 ●書式の説明(ページ設定:ヘッター・フッター)

オブジェクト.PageSetup.プロパティ = 設定値

『使用例』: Worksheets(“Sheet1”). PageSetup.LeftHeader = “&F” & vbCrLf & “&A”

※『左ヘッダー』に:「ファイル名」・「シート名」を表示します。

 

タブ設定内容PageSetupプロパティ設定値
『ヘッダー・フッター』ヘッダー(左側)LeftHeader書式コード(下記参照)・文字列
ヘッダー(中央部分)CenterHeader書式コード(下記参照)・文字列
ヘッダー(右側)RightHeader書式コード(下記参照)・文字列
フッター(左側)LeftFooter書式コード(下記参照)・文字列
フッター(中央部)CenterFooter書式コード(下記参照)・文字列
フッター(右側)RightFooter書式コード(下記参照)・文字列

 

書式コード内容(説明)
&Pページ番号
&N総ページ数
&D現在の日付
&T現在の時刻
&Fファイル名
&Aシート名
&"フォント名"&フォントの指定
&nnフォントサイズの指定
&B太字
&I斜体
&U下線
&G画像を表示

 

●プログラム説明 (サンプルプログラム③:ページ設定・ヘッダー・フッタータグ)
下記のサンプルプログラムは、『Sheet1』のシートに対して印刷設定:ヘッター・フッターの設定を行うサンプルプログラムです。下記の印刷プレビュー画像は、プログラム実行前の状態です。
※初期設定では、ヘッター・フッターは設定されていません。

 

 

 

 

●実行後 ※上記プログラムを実行後、下記の内容を実行しました。
①ヘッダー左側:ファイル名・シート名
②ヘッダー中央:タイトル名、年度は現在の年から取得
③ヘッダー右側:日付と日時を表示
④フッター右側:「経理課作成」・下線・MSゴシックでフォント10サイズ
⑤フッター中央:ページ番号 / 総ページ数
⑥フッター右側:画像を表示
(画像クリックして拡大)

 

 

 

VBAで印刷設定(ページ設定:シートタグ)

 

 

 ●書式の説明

オブジェクト.PageSetup.プロパティ = 設定値

『使用例』: Worksheets(“Sheet1”).PageSetup.PrintArea = “A1:H14”

※印刷範囲の設定を『A1:H14』に設定

 

 

タブ設定内容PageSetupプロパティ設定値
『シート』印刷範囲PrintAreaA1形式(文字列)
行のタイトルPrintTitleRowsA1形式(文字列)
列のタイトルPrintTitleColumnsA1形式(文字列)
印刷(枠線)PrintGridlinesTrue (ON) / False (OFF)
印刷(白黒印刷)BlackAndWhiteTrue (ON) / False (OFF)
印刷(簡易印刷)DraftTrue (ON) / False (OFF)
印刷(行列番号)PrintHeadingsTrue (ON) / False (OFF)
印刷(コメント)PrintCommentsxlPrintInPlace(画面表示イメージ)等
印刷(セルのエラー)PrintErrorsxlPrintErrorsBlank(空白)等
ページの方向OrderxlDownThenOver(左から右へ) / xlOverThenDown(上から下へ)

 

 

 

●プログラム説明 (サンプルプログラム④:ページ設定・シートタグ)

下記のサンプルプログラムは、『Sheet3』のシートに対して印刷設定:シートタグの設定を行うサンプルプログラムです。2019年の上期・下期の営業一覧表があります。現在の日付から月を取得して、上期か下期を自動判定を行い、枠線をON・白黒印刷を行うプログラムです。下記の表(EXCEL)は、プログラム実行前の状態です。

 

 

 

●実行後 ※上記プログラムを実行後、下記の内容を実行しました。
①現在の日付(Now)から月を取得して、10月を取得しましたので、印刷範囲を下期に設定
②印刷枠線をONに設定
③白黒印刷をONに設定
(画像クリックして拡大)

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。