大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで、印刷枚数やページ指定などの印刷設定をする方法について、ご紹介します。使うVBA関数は、『From』、『To』、『Copies』、『Collate』です。これらの関数を使えば、印刷枚数の設定やページ指定をすることができます。

はじめに

この記事では、印刷するページ指定や、印刷枚数の設定について、ご紹介します。

印刷する枚数などの設定は、『From』、『To』、『Copies』、『Collate』を使えばできます。

印刷する作業が大量にある場合は、VBAで印刷する作業を自動化すると作業が楽になります。

では、印刷する枚数やページの指定について、解説していきます。

この記事で紹介すること

  • 印刷する開始ページと終了ページの設定
  • 印刷する部数の設定
  • 部単位もしくはページ単位の設定

目次から見たい項目へ移動すると便利ですよ。

目次

ポイントとなるVBAコード

初めに、印刷設定について、ポイントとなるVBAコードを記載しておきます。

VBAコードだけを確認したい場合に、ご活用ください。

'印刷するページ指定
ActiveSheet.PrintOut From:=2 '開始ページ
ActiveSheet.PrintOut To:=4 '終了ページ
ActiveSheet.PrintOut From:=2, To:=4 '開始ページと終了ページ

'印刷する部数の指定
ActiveSheet.PrintOut Copies:=3 '3部を印刷する

'「部単位」もしくは「ページ単位」の指定
ActiveSheet.PrintOut Copies:=3, Collate:=True '部単位(Collateの入力はなくてもOK)
ActiveSheet.PrintOut Copies:=3, Collate:=False 'ページ単位

では、解説していきます。

VBAでページ指定を印刷設定

VBAでページ指定を印刷設定するには、『From』と『To』を使います。

これは、印刷のタイミングで、印刷するページ番号を指定することができます。

  • 開始ページ:From
  • 終了ページ:To

という感じで設定します。

では、それぞれ、開始ページと終了ページを設定して、実行結果をみてみます。

開始ページを設定(From)

開始ページを設定するには、『From』を使います。

2ページ目から印刷するVBAコードです。

Sub TEST1()
    
    '開始ページを2ページとする
    ActiveSheet.PrintOut From:=2
    
End Sub

そのまま印刷しちゃうと、PC上で確認ができないので、印刷プレビューを表示して、確認してみます。

開始ページを設定して、印刷プレビューを表示するVBAコードです。

Sub TEST2()
    
    '開始ページを2ページとする。
    ActiveSheet.PrintOut From:=2, Preview:=True
    
End Sub

では、実行してみます。

5ページあるシートを用意しました。

5ページのシート

5ページあるシートを用意

こちらのシートを、2ページ目から印刷してみます。

開始ページを指定

印刷する開始ページを指定して印刷プレビューを開いた結果

開始ページが2ページからになりました。

『前のページ』がクリックできないので、2ページ目が最初のページとなっています。

終了ページを設定(To)

続いて、終了ページを設定するには、『To』を使います。

4ページ目まで印刷するVBAコードです。

Sub TEST3()
    
    '終了ページを4ページとする。
    ActiveSheet.PrintOut To:=4, Preview:=True
    
End Sub

先ほどと同じように、印刷はせず、印刷プレビューで確認してみます。

では、実行してみます。

5ページあるシートを用意しました。

5ページのシートを用意

5ページあるシートを用意

こちらのシートを、4ページ目までを印刷してみます。

終了ページを指定

印刷する終了ページを指定して印刷プレビューを開いた結果

終了ページが4ページまでになりました。

『次のページ』がクリックできないので、4ページ目が終了のページとなっています。

印刷プレビュー、ちょっとわかりづらいです。

両方を設定(FromとTo)

開始ページと終了ページを設定するには、『From』と『To』の両方を使います。

2ページ目から4ページ目まで印刷するVBAコードです。

Sub TEST4()
    
    '開始ページを2ページ、終了ページを4ページ。
    ActiveSheet.PrintOut From:=2, To:=4, Preview:=True
    
End Sub

先ほどと同じように、印刷はせず、印刷プレビューで確認してみます。

では、実行してみます。

5ページあるシートを用意しました。

5ページあるシートを用意

5ページあるシートを用意

こちらのシートを、2ページ目から4ページ目までを印刷してみます。

開始ページ

印刷する開始ページと終了ページを指定して印刷プレビューを開いた結果

開始ページが2ページになりました。

終了ページはこちらです。

終了ページ

印刷する開始ページと終了ページを指定して印刷プレビューを開いた結果

終了ページは、4ページとなりました。

こんな感じで、印刷する際に、開始ページと終了ページを設定することができます。

VBAで印刷部数と部単位かページ単位かを設定

印刷部数の設定も、VBAで設定することができます。

部数の設定は、『Copies』を使います。

  • 部数:Copies

また、部単位で印刷するか、ページ単位で印刷するかは、『Collate』を使います。

『Collate』の設定は、次のようになります。

  • True(デフォルト):部単位
  • False:ページ単位

という感じです。

説明だけでは、わかりづらいので、実際にVBAコードを実行してみます。

印刷部数を設定する(Copies)

まずは、印刷部数を設定する『Copies』でVBAコードを作成してみます。

印刷する部数を、『3』とするVBAコードです。

Sub TEST5()
    
    '印刷する部数を3部にする。
    ActiveSheet.PrintOut Copies:=3, Preview:=True
    
End Sub

印刷はせず、印刷プレビューで確認します。

では、実行します。

部数を3にする

印刷する部数を3にして印刷プレビューを表示した結果

印刷プレビューでは、印刷する部数が確認できないんですね。

印刷すれば、間違いなく3部を、印刷することができます。

部単位もしくはページ単位を設定

続いて、部単位で印刷するか、ページ単位で印刷するかを設定する方法です。

使うVBAコードは、『Collate』です。

部単位で印刷

印刷する単位を、部単位で印刷したい場合は、『True』とします。

部数単位で、3部を印刷するVBAコードです。

Sub TEST6()
    
    '部単位で印刷する。
    ActiveSheet.PrintOut Copies:=3, Collate:=True, Preview:=True
    
End Sub

『Collate:=True』としています。

でも、Trueはデフォルトなので、特に入力しなくても部単位で、印刷してくれます。

部単位で印刷したい場合は、これだけでできます。

Sub TEST7()
    
    '部単位で印刷するときは、Collateは必要なし
    ActiveSheet.PrintOut Copies:=3, Preview:=True
    
End Sub

なので、部単位で印刷したい場合は、Collateは必要なしです。

ページ単位で印刷

次は、ページ単位で印刷する方法です。『Collate』に『False』を入力するとできます。

VBAコードは次のようになります。

Sub TEST8()
    
    'ページ単位で印刷する
    ActiveSheet.PrintOut Copies:=3, Collate:=False, Preview:=True
    
End Sub

これで、ページ単位で印刷することができます。

こんな感じで、部単位か、ページ単位で印刷することができます。

おわりに

この記事では、印刷するページ指定や、印刷枚数の設定について、ご紹介しました。

印刷するページの指定は、『From』と『To』を使えばできます。

印刷する部数の指定は、『Copies』を使います。

部単位かページ単位かは、『Collate』を使って設定ができます。

印刷する作業が大量にある場合は、印刷する作業をVBAに任せましょう。

業務が楽になります。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

アーカイブから探す