• ベストアンサー

エクセルのマクロで連続印刷を

いつもお世話になります。 エクセルで成績表を作り、マクロで連続印刷ができるようにしています。クラスごとの人数が違うので、マクロには、各クラスごとに、1~○番までと、いちいち入力してあります。 ですが、途中から印刷したい場合もあるということで、 ○~□まで (○、□には任意の数を入れることができる)と変えたいと思います。 ○、□に入れる数を、シートのどこかのセルに入力することで、マクロが自動的に変わる方法をご存じないですか? どなたか、よろしくお願いします。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

Sheet1 のA1に開始番号、A2に終了番号が入るとして、マクロを次の様に変えて見てください。 For 番号 = 1 To 37 ↓ For 番号 = Worksheets("Sheet1").Range("A1").Value To Worksheets("Sheet1").Range("A2").Value 今回見えて居ない部分で不具合が出る可能性もありますがとりあえずこれでどうでしょう

nishikyo
質問者

お礼

早速のご回答ありがとうございます。 一度、教えていただいたマクロを貼り付けてみます。 どちらにせよ、もう一度、お礼を入れさせていただきます。

その他の回答 (2)

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.3

最近似たような質問に回答したのですが参考にしてみてください #2さんの回答のリンク先か #3の後半の回答 http://okwave.jp/qa5492783.html

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

セルの値を読み込んで処理を変えるのはマクロで良く使われる処理です。 しかし、この質問だけでは情報が少なすぎて回答不能です。 せめて「1~○番まで」と、入力してある部分のコードを提示してください。

nishikyo
質問者

補足

早速のご回答ありがとうございます。 情報不足ですいませんでした。 今現在のマクロは次のように打ち込んであります。 Sub 成績印刷() Dim 番号 As Integer For 番号 = 1 To 37 Sheets("3~6年あゆみ裏面").Range("V1").Value = 番号 Sheets("3~6年あゆみ裏面").PrintOut Next 番号 End Sub ここの For 番号 = 1 to 37 の1とか、37を任意の数にしたいのです。 その数字を、この成績表の印刷されない部分(2ページ目とか)のどこかのセルに入力した数字が反映されるようにしたいのです。 文章で書くと、うまく書けませんが、伝わりましたでしょうか? よろしくお願いします。