- 締切済み
印刷出力の指定について
現在、1シートに2ページにわたり、請求書が2枚作成されています。(No.1・No.2という具合です。) 月によっては、No.1の請求書しか発行しない得意先もあり、その度に印刷設定で、ページ指定して印刷を出しておりました。 これを何か、うまくできないものかと思い投稿させていただきました。 セル番地”c58”に合計とある場合、1ページだけ印刷。 そうでない場合・・2枚まで印刷をしたいのですが何か良い方法はありませんでしょうか? ちなみに、請求書発行先ごとにフォルダがあり、それぞれ1シートに請求書があり、次のシートにコピーして新たな請求書を作成するようになっています。 どうぞ、よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- zap35
- ベストアンサー率44% (1383/3079)
印刷範囲を自動的に変更するならマクロを利用するしかないでしょう。 >それぞれ1シートに請求書があり この雛形となるブックを開いてALT+F11でVBE画面を開いて「ThisWorkbook」を右クリックし、「コードの表示」で開く画面に以下のマクロを貼り付けてください Private Sub Workbook_BeforePrint(Cancel As Boolean) If ActiveSheet.Range("C58").Value = "合計" Then ActiveSheet.PageSetup.PrintArea = "$A$1:$G$58" Else ActiveSheet.PageSetup.PrintArea = "$A$1:$G$29" End If End Sub このマクロは「このブックのシートを印刷しようとしたとき」に「開いているシート」の「印刷範囲」を自動的に設定するものです もし「C58セルの値が"合計"」なら印刷範囲を「A1:G58」に設定し、そうでなければ印刷範囲を「A1:G29」までにしています。 質問には「印刷範囲」をどうすれば良いのかが書かれていませんので、おそらくマクロの修正が必要でしょう。簡単なマクロなので理解いただけるとは思いますが、上記説明で理解できない場合は印刷範囲を具体的に補足してください。
お礼
細かく表示していただいて、ありがとうございます。 早速、会社に出勤したら挑戦してみます。 実は、マクロ初体験です。 なんだかわくわくします。