教えて!ExcelVBA!

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

【ExcelVBA 印刷】ページを指定して印刷(PrintOut)するにはどうすればいいの?教えて!

f:id:m_kbou:20200419132929p:plain

ページを指定して印刷する方法について説明します。印刷を開始するページ番号と印刷を終了するページ番号を指定し、連続したページの印刷を行います。

 

 

構文

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

Sheets("[シート名]").PrintOut From:=[番号①], To:=[番号②]

[説明]:

ページを指定して印刷する場合は「Sheets("[シート名]").PrintOut From:=[番号①], To:=[番号②]」と記述します。[シート名]には印刷対象のシート名を記述し、「”」(ダブルクォーテーション)で囲みます。印刷をする場合はPrintOutメソッドを使用します。ページを指定して印刷する場合は、From:=の後に印刷開始ページ番号[番号①]を記述し、To:=の後に印刷終了ページ番号[番号②]を記述します。内容を纏めると、「指定したページ番号([番号①]~[番号②])のページを印刷して下さい。」との意味になります。

[記述例]:

Sheets("Sheet1").PrintOut From:=2, To:=3 

 

使い方

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

[プログラミング例]:

Sub サンプル()
    Sheets("Sheet1").PrintOut From:=2, To:=3
End Sub

内容は、「Sheets1シートの2~3ページを印刷して下さい。」との意味になります。

f:id:m_kbou:20210221080126p:plain

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

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。また、Sheets1シートの1~3ページは以下の様になっており、2ページと3ページには写真が貼り付けてあります。<実行>ボタンをクリックします。(※ボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210226161806p:plain

f:id:m_kbou:20210226161821p:plain

f:id:m_kbou:20210226161837p:plain

②Sheets1シートの2ページと3ページが連続で印刷されます。(※1ページ目は印刷されません。)

f:id:m_kbou:20191216100446p:plain

f:id:m_kbou:20191216100521p:plain

[サンプル]:

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

drive.google.com

ページを指定して印刷する方法についての説明は以上です。

 

おわりに

今回はページを指定して印刷する方法について説明しました。類似した内容にシートを印刷する方法印刷部数を指定する方法があります。また、印刷プレビューで確認する方法もあります。こちらも一緒に覚えておいて下さい。