- ベストアンサー
vbaで全てのシートを選択状態にしたい 印刷
マクロの記録で、全てのシートを選択すると、 Sheets(Array("シート1", "シート2")).Select というのが取得できるのですが、 このコードはシート名が増えたり、シート名が変更されると、使えなくなってしまいます。 全てのシートを選択状態にして、印刷をするvbaをしたいのですが、 シートが増えても使えるvbaコードはありますか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
VBAのVBEには式の結果を目視できるウオッチ(見るの英単語)機能があります。 これでお示しいただいた Sheets(Array("シート1", "シート2")) がどの様になっているか を、見られては如何でしょうか? Array(アレー)
その他の回答 (3)
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
シートのカウンタを使って、Selectを繰り返せばシート対応の処理をしながら印刷できる。 ただ、ワークシートとグラフシート(専用)は別物なので、それぞれの処理を分けたい場合は、少しヤッカイに、、、 Option Explicit Sub WatchOver() Dim kk As Long 'ド~ン、とまとめて選択 Sheets.Select 'チマチマ、と選択 'Sheets.count = Worksheets.count + Charts.Count For kk = 1 To Sheets.Count Sheets(kk).Select '~~~ Next End Sub ExcelVBA でのシートを選択する方法をまとめてみました。 《WorkSheetsコレクション, Charts コレクション, Sheets コレクション》 http://www.nurs.or.jp/~ppoy/access/excel/xlA004.html
お礼
ありがとうございました。
- Nouble
- ベストアンサー率18% (330/1783)
確認できない環境に、今いるのでご容赦を、 ウオッチでアレーしている全体を見ると、 どうなってます? それと同じものって作れそうですか?
お礼
「ウオッチでアレー」とはなんでしょうか?
- keithin
- ベストアンサー率66% (5278/7941)
>全てのシートを選択状態にして、印刷 sub macro1() activeworkbook.printout end sub でいいです。
お礼
それ専用のコードがあったのですね。 助かりました。
お礼
ありがとうございました。