教えて!ExcelVBA!

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

【ExcelVBA 印刷】印刷の倍率を設定する方法について教えて!

f:id:m_kbou:20210509093912p:plain

印刷の倍率を設定するにはPageSetup.Zoomプロパティを使用します。印刷倍率は10~400%の範囲で指定します。この印刷の倍率を設定する方法について紹介します。

 

 

構文

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

Sheets("[シート名]").PageSetup.Zoom =[印刷倍率]

[説明]:

印刷の倍率を設定するには「Sheets("[シート名]").PageSetup.Zoom =[印刷倍率]」と記述します。[シート名]には印刷するシート名を記述し、「”」(ダブルクォーテーション)で囲みます。PageSetup.Zoomは印刷の倍率を取得する記述となります。[印刷倍率]には印刷の倍率を記述します。内容を纏めると、「[印刷倍率]で指定した倍率で印刷して下さい。」との意味になります。

[記述例]:

Sheets("Sheet1").PageSetup.Zoom = 200
Sheets("Sheet1").PageSetup.Zoom = 100
MsgBox Sheets("Sheet1").PageSetup.Zoom

 

使い方

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

印刷倍率を200%に設定する

印刷倍率を200%に設定する方法について説明します。

[プログラミング例]:

Sub 倍率を200にする()
  Sheets("Sheet1").PageSetup.Zoom = 200
  Sheets("Sheet1").PrintPreview
End Sub

内容は、「Sheet1シートの印刷倍率を200%で設定し、印刷プレビューで表示して下さい。」との意味になります。

f:id:m_kbou:20210509090156p:plain

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

[実行例]:

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

f:id:m_kbou:20210509090211p:plain

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

f:id:m_kbou:20210509090225p:plain

印刷倍率を200%に設定する方法についての説明は以上です。

 

印刷倍率を通常サイズ(100%)に設定する

印刷倍率を通常サイズに設定する方法について説明します。

[プログラミング例]:

Sub 倍率を200にする()
  Sheets("Sheet1").PageSetup.Zoom = 100
  Sheets("Sheet1").PrintPreview
End Sub

内容は、「Sheet1シートの印刷倍率を通常サイズ(100%)で設定し、印刷プレビューで表示して下さい。」との意味になります。(※倍率に「False」を設定しても通常サイズに戻ります。)

f:id:m_kbou:20210509092538p:plain

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

[実行例]:

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

f:id:m_kbou:20210509092554p:plain

②結果は以下の様になり、A1セル~G4セルまでのセル範囲が通常サイズ(印刷倍率100%)で印刷される事を印刷プレビューで確認できます。

f:id:m_kbou:20210509092610p:plain

印刷倍率を通常サイズ(100%)に設定する方法についての説明は以上です。

 

現在設定されている印刷倍率を調べる

現在設定されている印刷倍率を調べる方法について説明します。

[プログラミング例]:

Sub 今の倍率を調べる()
  MsgBox Sheets("Sheet1").PageSetup.Zoom
End Sub

内容は、「Sheet1シートに設定されている印刷倍率をMsgBoxで表示して下さい。」との意味になります。

f:id:m_kbou:20210509093252p:plain

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

[実行例]:

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

f:id:m_kbou:20210509093308p:plain
②現在の印刷倍率が200%に設定されているため、MsgBoxで「200」が表示されます。

f:id:m_kbou:20210509093327p:plain

現在設定されている印刷倍率を調べる方法についての説明は以上です。

 

[サンプル]:

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

drive.google.com

 

おわりに

今回は印刷の倍率を設定する方法について説明しました。類似の内容として印刷時の印刷方向の設定用紙サイズの設定もあります。こちらも参考にして下さい。