教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 印刷】印刷位置をページの中央に設定する方法について教えて!

f:id:m_kbou:20210511081120p:plain

印刷位置を水平方向にページ中央に設定するにはPageSetup.CenterHorizontallyプロパティを使用し、垂直方向にページ中央に設定するにはPageSetup.CenterVerticallyプロパティを使用します。ページ中央とはページ設定画面の余白タブ内以下赤枠で囲んだ部分の内容となります。(※ページ設定画面は[ファイル]⇒[印刷]⇒[ページ設定]で開く事ができます。)

f:id:m_kbou:20210511081312p:plain

 

 

構文

記述方法は以下の通りとなります。

(1)印刷位置を水平方向にページ中央にする

Sheets("[シート名]").PageSetup.CenterHorizontally = True Or False

[説明]:

印刷位置を水平方向にページ中央に設定するには

 「Sheets("[シート名]").PageSetup.CenterHorizontally = True」

と記述します。また、元に戻す場合には

 「Sheets("[シート名]").PageSetup.CenterHorizontally = False」

と記述します。

[シート名] 印刷位置を指定するシート名を記述します。
※「”」(ダブルクォーテーション)で囲みます。

[記述例]:

Sheets("Sheet1").PageSetup.CenterHorizontally = True
Sheets("Sheet1").PageSetup.CenterHorizontally = False

(2)印刷位置を垂直方向にページ中央にする

Sheets("[シート名]").PageSetup.CenterVertically = True Or False

[説明]:

印刷位置を垂直方向にページ中央に設定するには

 「Sheets("[シート名]").PageSetup.CenterVertically = True」

と記述します。また、元に戻す場合には

 「Sheets("[シート名]").PageSetup.CenterVertically = False」

と記述します。

[シート名] 印刷位置を指定するシート名を記述します。
※「”」(ダブルクォーテーション)で囲みます。

[記述例]:

Sheets("Sheet1").PageSetup.CenterVertically = True
Sheets("Sheet1").PageSetup.CenterVertically = False

 

使い方

使い方について具体的に説明します。

印刷位置を水平方向にページ中央とする

印刷位置を水平方向にページ中央とする設定方法について説明します。

[プログラミング例]:

Sub 水平方向にページ中央()

  Sheets("Sheet1").PageSetup.CenterHorizontally = True
  Sheets("Sheet1").PrintPreview

End Sub

内容は、「Sheet1シートの印刷位置を水平方向にページ中央で設定し、印刷プレビューで表示して下さい。」との意味になります。

f:id:m_kbou:20210511083752p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

(事前確認)

ページ設定画面のページ中央状態を確認します。現在は水平・垂直共にチェックは入っていません。

f:id:m_kbou:20210511083814p:plain

①Sheet1シートのA1セル~G8セルにデータが入力されており、<水平方向にページ中央>ボタンには上記のプログラミング例のプログラムが登録されています。この<水平方向にページ中央>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210511083959p:plain

②結果は以下の様になり、A1セル~G4セルまでのセル範囲が水平方向にページ中央で印刷される事を印刷プレビューで確認できます。

f:id:m_kbou:20210511084148p:plain

③再度ページ設定画面のページ中央状態を確認すると、水平にチェックが入っている事が確認できます。

f:id:m_kbou:20210511085749p:plain

印刷位置を水平方向にページ中央とする設定方法についての説明は以上です。

 

印刷位置を垂直方向にページ中央とする

印刷位置を垂直方向にページ中央とする設定方法について説明します。

[プログラミング例]:

Sub 垂直方向にページ中央()

  Sheets("Sheet1").PageSetup.CenterVertically = True
  Sheets("Sheet1").PrintPreview

End Sub

内容は、「Sheet1シートの印刷位置を垂直方向にページ中央で設定し、印刷プレビューで表示して下さい。」との意味になります。

f:id:m_kbou:20210511091024p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

(事前確認)

ページ設定画面のページ中央状態を確認します。現在は水平・垂直共にチェックは入っていません。

f:id:m_kbou:20210511083814p:plain

①Sheet1シートのA1セル~G8セルにデータが入力されており、<垂直方向にページ中央>ボタンには上記のプログラミング例のプログラムが登録されています。この<垂直方向にページ中央>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210511091044p:plain

②結果は以下の様になり、A1セル~G4セルまでのセル範囲が垂直方向にページ中央で印刷される事を印刷プレビューで確認できます。

f:id:m_kbou:20210511091138p:plain

③再度ページ設定画面のページ中央状態を確認すると、垂直にチェックが入っている事が確認できます。

f:id:m_kbou:20210511091205p:plain

印刷位置を垂直方向にページ中央とする設定方法についての説明は以上です。

 

印刷位置を水平及び垂直方向にページ中央とする

印刷位置を水平及び垂直方向にページ中央とする設定方法について説明します。

[プログラミング例]:

Sub 水平及び垂直方向にページ中央()

  Sheets("Sheet1").PageSetup.CenterHorizontally = True
  Sheets("Sheet1").PageSetup.CenterVertically = True
  Sheets("Sheet1").PrintPreview

End Sub

内容は、「Sheet1シートの印刷位置を水平及び垂直方向にページ中央で設定し、印刷プレビューで表示して下さい。」との意味になります。

f:id:m_kbou:20210511091435p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

(事前確認)

ページ設定画面のページ中央状態を確認します。現在は水平・垂直共にチェックは入っていません。

f:id:m_kbou:20210511083814p:plain

①Sheet1シートのA1セル~G8セルにデータが入力されており、<水平及び垂直方向にページ中央>ボタンには上記のプログラミング例のプログラムが登録されています。この<水平及び垂直方向にページ中央>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210511091507p:plain

②結果は以下の様になり、A1セル~G4セルまでのセル範囲が水平及び垂直方向にページ中央で印刷される事を印刷プレビューで確認できます。

f:id:m_kbou:20210511091529p:plain

③再度ページ設定画面のページ中央状態を確認すると、水平及び垂直にチェックが入っている事が確認できます。

f:id:m_kbou:20210511091551p:plain

印刷位置を水平及び垂直方向にページ中央とする設定方法についての説明は以上です。

 

印刷位置を標準に戻す

印刷位置を標準に戻す設定方法について説明します。

[プログラミング例]:

Sub 元に戻す()

  Sheets("Sheet1").PageSetup.CenterHorizontally = False
  Sheets("Sheet1").PageSetup.CenterVertically = False
  Sheets("Sheet1").PrintPreview

End Sub

内容は、「Sheet1シートの印刷位置を標準に戻し、印刷プレビューで表示して下さい。」との意味になります。

f:id:m_kbou:20210511091953p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

(事前確認)

ページ設定画面のページ中央状態を確認します。現在は水平・垂直共にチェックが入っています。

f:id:m_kbou:20210511091551p:plain

①Sheet1シートのA1セル~G8セルにデータが入力されており、<元に戻す>ボタンには上記のプログラミング例のプログラムが登録されています。この<元に戻す>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210511092046p:plain

②結果は以下の様になり、A1セル~G4セルまでのセル範囲が標準で印刷される事を印刷プレビューで確認できます。

f:id:m_kbou:20210511092115p:plain

③再度ページ設定画面のページ中央状態を確認すると、水平及び垂直にチェックが入っていない事が確認できます。

f:id:m_kbou:20210511081312p:plain

印刷位置を標準に戻す設定方法についての説明は以上です。

 

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

 

おわりに

今回は印刷位置をページの中央に設定する方法について説明しました。類似の内容として印刷時の余白の設定もあります。こちらも参考にして下さい。