教えて!ExcelVBA!

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

【ExcelVBA 印刷】複数のセル範囲を部単位で印刷(PrintOut)する方法について教えて!

f:id:m_kbou:20210502180101p:plain

複数のセル範囲を指定して部単位で印刷する方法について紹介します。セル範囲毎に別ページに分けて印刷されます。

 

 

構文

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

Sheets("[シート名]").Range("[複数セル範囲]").PrintOut Collate:=True

[説明]:

複数のセル範囲を部単位で印刷する場合は

「Sheets("[シート名]").Range("[複数セル範囲]").PrintOut Collate:=True」

と記述します。

[シート名] 印刷するシート名を記述します。
※「”」(ダブルクォーテーション)で囲みます。
[複数セル範囲] シート中の印刷対象とする複数セル範囲を記述します。
※「”」(ダブルクォーテーション)で囲みます。

[記述例]:

Sheets("Sheet1").Range("A1:D4,E5:G8").PrintOut Collate:=True

 

使い方

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

[プログラミング例]:

Sub サンプル()

  Sheets("Sheet1").Range("A1:D4,E5:G8").PrintOut Collate:=True

End Sub

内容は、「Sheet1シートのA1セル~D4セルの範囲とE5セル~G8セルの範囲を部単位(別ページ)で印刷して下さい。」との意味になります。(※指定したセル範囲が複数ある場合は、「,」(カンマ)で区切ります。)

f:id:m_kbou:20210502181105p:plain

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

[実行例]:

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

f:id:m_kbou:20210502181122p:plain

②結果は以下の様になります。1ページ目はA1セル~D4セルの範囲が印刷され、2ページ目はE5セル~G8セルの範囲が印刷されます。

f:id:m_kbou:20210502181136p:plain

[サンプル]:

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

drive.google.com

複数のセル範囲を部単位で印刷する方法についての説明は以上です。

 

おわりに

今回は複数のセル範囲を部単位で印刷する方法について説明しました。セル単位で印刷したい時に非常に便利です。是非覚えておいて下さい。