• ベストアンサー

Excel2007のVBAにて印刷を指定枚数設定しようと思いましたが、

Excel2007のVBAにて印刷を指定枚数設定しようと思いましたが、下記マクロでテストしたところ 2枚ではなく、何故か1076枚を印刷しようとしてきます。 印刷範囲も2枚しかないので、どこがおかしいのかが分りません。 分かる方いましたらご教授願います。 Sub Macro1() dim as i integer i = 2 ActiveWorkbook.PrintOut Copies:=i End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • fujiponxx
  • ベストアンサー率32% (186/580)
回答No.1

まず、 >dim as i integer これはおかしいんじゃないですか? 書いてるコードをちゃんとコピペで提示しないとダメでしょう。 また、上を直してやってみたら、ちゃんと期待通りの枚数で印刷されます。 印刷プレビューしてみて、1076枚と表示されるのであれば、 シートの印刷設定がおかしいんだとおもいます。

chobi0619
質問者

補足

ご回答ありがとうございます。 書いてあるコードをちゃんとコピペしたのですが、書いてあるコードそのものが まずかったようです。 もう一度調べ直して下記コードを使用したら正常に動きました。 i = 2 ActiveSheet.PrintOut From:=1, To:=i, Preview:=false 早期回答をいただいたので、ベストアンサーとさせていただきます

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

dim as i integer ではこのプログラムは走らない(エラーが出る)。 質問書き込みの際の単なる入力ミスかどうか、はっきりしないと答えようが無いのでは。

chobi0619
質問者

補足

このコードでもエラーが出ずにプログラムは普通に走っていました。 dim as i integerを消しても動かなかったので、別の命令に変更したらできました。 ご回答ありがとうござました。

回答No.2

>dim as i integer これは#1さんのご指摘の通り。 このコードでダメなら pagesetup.printareaプロパティで範囲指定して見ては? シートの下の方に無いかいるのかもw

参考URL:
http://homepage1.nifty.com/tabotabo/insat/excelp/excelp04.htm
chobi0619
質問者

補足

説明不足でした。printareaでは指定できない程の膨大な量になる可能性があったので、 枚数を指定したかったのですが、ご指摘いただいた dim as i integerを消しただけでは解決はしませんでした。 もう一度調べ直し、別の命令にしたら正常に動きました。 ご回答ありがとうございました。