- ベストアンサー
エクセルのマクロの編集で困っています。
エクセルの印刷のマクロで Range("A1:A12").Select Selection.PrintOut Copies:=1 Range("D2").Select End Sub のマクロで Copies:=1の枚数を 任意の枚数にしたいのですが、どのように記述したらよいか 解りません。1を"?"に変えると 実行エラー’1004’ RangeクラスのPrintOutメッソドが失敗しました。 のエラーが出ます。 よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#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
その他の回答 (3)
- hallo-2007
- ベストアンサー率41% (888/2115)
任意の枚数にしたいのですが、どのように記述したらよいか 事前に印刷したい枚数を準備する必要があります、一例ですが INPUTBOXで枚数を入力します。 i = InputBox("印刷枚数を入力してください", "印刷枚数", 1) Selection.PrintOut Copies:=i といった具合にします。 或いは PrintOut を PrintPreview にしては如何でしょうか。 私は、めんどくさがりなので印刷設定の変更が必要な場合は殆ど PrintPreviewにして渡して、使う側で変更してもらっています。
お礼
早速の回答を頂きありがとうございました。 かなり役に立ちました。 重ね重ねお礼申し上げます。
- hana-hana3
- ベストアンサー率31% (4940/15541)
"?"は数値ではないのでエラーになります。 PrintOut の部分にマウスカーソルを置いて、[F1]キーでヘルプが起動するので構文を確認してください。 下記の用にすると、印刷の都度枚数を指定できます。 デフォルトは1です。 i = InputBox("印刷枚数", , 1) Selection.PrintOut Copies:=i
お礼
早速の回答を頂きありがとうございました。 かなり役に立ちました。 重ね重ねお礼申し上げます。
- wkbqp833
- ベストアンサー率36% (319/886)
Selection.PrintOut Copies:=1 の Copies:=1 は、印刷枚数指定ですので、右辺には数値しかダメです("?" は数字値でないのでエラー) 枚数指定したいのならば、仮に C1に枚数をセットしておくとして Selection.PrintOut Copies:=Range("C1").Value でいけると思います
お礼
早速の回答を頂きありがとうございました。 かなり役に立ちました。 重ね重ねお礼申し上げます。
お礼
早速の回答を頂きありがとうございました。 かなり役に立ちました。 重ね重ねお礼申し上げます。