• ベストアンサー

エクセルのマクロの編集で困っています。

エクセルの印刷のマクロで Range("A1:A12").Select Selection.PrintOut Copies:=1 Range("D2").Select End Sub のマクロで Copies:=1の枚数を 任意の枚数にしたいのですが、どのように記述したらよいか 解りません。1を"?"に変えると 実行エラー’1004’ RangeクラスのPrintOutメッソドが失敗しました。 のエラーが出ます。 よろしくお願い致します。

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

  • ベストアンサー
  • silverfd
  • ベストアンサー率57% (204/356)
回答No.2

#1の方の方法でもいいのですが、多分やりたいのは、印刷時に枚数を入力するポップアップという形? だとしたらこうして下さい。 Sub myPrint() Dim intPrintNum As Integer On Error Resume Next intPrintNum = InputBox("枚数を入力して下さい", "印刷") On Error GoTo 0 If intpritnum = 0 Then MsgBox "中止しました" Exit Sub End If Range("A1:A12").Select Selection.PrintOut Copies:=intPrintNum Range("D2").Select End Sub

hodenasu
質問者

お礼

早速の回答を頂きありがとうございました。 かなり役に立ちました。 重ね重ねお礼申し上げます。

その他の回答 (3)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.4

任意の枚数にしたいのですが、どのように記述したらよいか 事前に印刷したい枚数を準備する必要があります、一例ですが INPUTBOXで枚数を入力します。 i = InputBox("印刷枚数を入力してください", "印刷枚数", 1) Selection.PrintOut Copies:=i といった具合にします。 或いは PrintOut を PrintPreview にしては如何でしょうか。 私は、めんどくさがりなので印刷設定の変更が必要な場合は殆ど PrintPreviewにして渡して、使う側で変更してもらっています。

hodenasu
質問者

お礼

早速の回答を頂きありがとうございました。 かなり役に立ちました。 重ね重ねお礼申し上げます。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.3

"?"は数値ではないのでエラーになります。 PrintOut の部分にマウスカーソルを置いて、[F1]キーでヘルプが起動するので構文を確認してください。 下記の用にすると、印刷の都度枚数を指定できます。 デフォルトは1です。 i = InputBox("印刷枚数", , 1) Selection.PrintOut Copies:=i

hodenasu
質問者

お礼

早速の回答を頂きありがとうございました。 かなり役に立ちました。 重ね重ねお礼申し上げます。

  • wkbqp833
  • ベストアンサー率36% (319/886)
回答No.1

Selection.PrintOut Copies:=1 の Copies:=1 は、印刷枚数指定ですので、右辺には数値しかダメです("?" は数字値でないのでエラー) 枚数指定したいのならば、仮に C1に枚数をセットしておくとして Selection.PrintOut Copies:=Range("C1").Value でいけると思います

hodenasu
質問者

お礼

早速の回答を頂きありがとうございました。 かなり役に立ちました。 重ね重ねお礼申し上げます。