dポイントプレゼントキャンペーン実施中!

通知表連続印刷の方法について教えてください。

インターネットにて添付画像と下記の記述の通り印刷マクロを組んでみたのですが、「For n = 1 To 15」までの連続印刷はうまくいったのですが、任意の番号『~“1” と “15”のところを“a” と “b”にしておいて、a = Range("A1")、b = Range("B1")のようにしておけば、セルA1、B1に必要な数値を入力し、5番から8番まで実行したり、3番から3番(3番だけ)実行したりできます。』の組み方がわからないので教えてください。よろしくお願いします。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
Dim n As Integer … 文字nを数値として定義します。


For n = 1 To 15 … For ~ Nextの間のプログラムを実行します。
~             n = 1 を代入しプログラム実行、n = 2 を代入しプログラム実行、…、n = 15 まで実行します。
Next n          1が終わったら2、2が終わったら3と繰り返す。


Range("D5") = n … セルD5に1~15までを代入。


ActiveSheet.PrintOut … 現在表示されているシートを1部印刷します。


これで、1番から15番までの連続印刷が可能ですが、いつも1~15番を連続印刷してしまいます。
これを例えば5番から8番だけ印刷したいとか、3番だけ印刷したいような時に使えるようにするには、“1” と “15”のところを“a” と “b”にしておいて、a = Range("A1")、b = Range("B1")のようにしておけば、セルA1、B1に必要な数値を入力し、5番から8番まで実行したり、3番から3番(3番だけ)実行したりできます。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

「通知表連続印刷の方法について教えてくださ」の質問画像

A 回答 (2件)

>3番だけ印刷したいような時に使えるようにするには、“1” と “15”のところを“a” と “b”にし


>ておいて、a = Range("A1")、b = Range("B1")のようにしておけば、セルA1、B1に必要な数値を
>入力し、5番から8番まで実行したり、3番から3番(3番だけ)実行したりできます。
その通りですね。
Dim n As Integer
Dim a As Integer
Dim b As Integer
a=Range("A1").Value
b=Range("B1").Value
For n = a To b
・・・
Next n
と云った感じになります。

この回答への補足

ご回答ありがとうございます。下記の通り記述してみたのですが、まだうまく作動しません。再度教えていただけませんか?


Sub 通知表印刷()
Dim n As Integer
Dim a As Integer
Dim b As Integer
a = Range("f2").Value
b = Range("H2").Value
For n = a To b
ActiveSheet.PrintOut
Next n
End Sub

補足日時:2010/09/26 11:00
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。初心者なものでどちらからの欄を使って再質問をしれば良いのかわからなかったので、お礼入力の欄から失礼します。下記の通り記述してみたのですが、まだうまく作動しません。再度教えていただけませんか?


Sub 通知表印刷()
Dim n As Integer
Dim a As Integer
Dim b As Integer
a = Range("f2").Value
b = Range("H2").Value
For n = a To b
ActiveSheet.PrintOut
Next n
End Sub

お礼日時:2010/09/26 11:04

変数としてa, bをnと同様に宣言しておいてから、a, bへセルの値を代入し、for文中の1をa、15をbに置き換えると、できますよ。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!