- ベストアンサー
VBA 印刷 画面
エクセルVBAについて。 ワークシートの印刷をVBAで行っています。 worksheets("○○○").printout ワークシートを複数印刷する際に、逐一 そのワークシートに画面遷移しないようにするには、どうすればよいでしょうか? よろしくお願いします。 Excel2010以上
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
テストのため、同一ブック内に3シート作った。 標準モジュールに Sub test01() Sheets(Array("Sheet1", "Sheet2", "Sheet3")).PrintOut End Sub を入れて、VBE画面で実行すると、VBE画面からさえ動かず、印刷されたが。 質問者は、何かシート名.SELECTなどやってますか。 >ワークシートを複数印刷する際・・ 複数ワークシートを印刷する際のこと、ではないの。本件は印刷部数の問題ではないよね。 質問における、表現は十分注意すること。 もし多ブックにまたがるシートの一括印刷などなら、断り書きが必要だろう。
その他の回答 (2)
- SI299792
- ベストアンサー率47% (772/1616)
質問内容がよくわかりません。 シートを移動せずに印刷する いくつかのエクセルファイルを開いておいて、移動せずに印刷する。 両方の意味にとれます。 前者ならProme_Lin さんの答えでいいです。 worksheets("○○○").printoutという書き方を知っているなら、多分後者でしょう 後者なら、 Workbooks("ファイル名.xlsm").Sheets("シート名").PrintOut になります。 開いているすべてのワークブックを印刷するなら、 Dim WB As Workbook ' For Each WB In Workbooks WB.PrintOut Next WB
お礼
ご回答ありがとうございます。 大変助かりました。
- Prome_Lin
- ベストアンサー率42% (201/470)
「画面遷移」とありますが、 Worksheets("Sheet1").Printout Worksheets("Sheet2").Printout とすれば、画面は、同じ画面が表示されています。 (画面遷移はありませんが、きっと、そんなご質問ではないと思います) もし、すべてのシートをプリントアウトしたいのでしたら、 For i = 1 to Worksheets.Count Worksheets(i).Printout Next i で実現できます。
お礼
ご回答ありがとうございます。 大変助かりました。
お礼
ご回答ありがとうございます。 大変助かりました。