• ベストアンサー

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

いつもお世話になります。 エクセルで成績表を作り、マクロで連続印刷ができるようにしています。クラスごとの人数が違うので、マクロには、各クラスごとに、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ページ目とか)のどこかのセルに入力した数字が反映されるようにしたいのです。 文章で書くと、うまく書けませんが、伝わりましたでしょうか? よろしくお願いします。

関連するQ&A

  • エクセルでマクロを使った連続印刷

    お世話になります。教えてほしいことがあります。 私、小学校の教諭をしております。 成績表をつける時期になってきました。 私の学校では、A4用紙の表面に学習の様子、裏面には、行動の様子・出欠状況・委員会やクラブやクラスの係・総合的な学習や生活の時間の様子の記述を印刷します。2学期になれば、また、新しいA4用紙に同じことを印刷します。(毎学期、A4両面印刷したものを1枚、新しく作成して保護者に渡していくということです。) 個人の成績表とは別に、クラス全体としての成績一覧表を作らなければならないので、担任としては、成績一覧表を作ってしまえば、LOOKUP関数で、それが、個人の成績表に反映されていくというふうに作りました。(個人の用紙のある部分に出席番号を入れれば、氏名や各項目の◎、○、△、出席状況を表す数字などが自動的に入る) ところが、これですと、1枚印刷するごとに、出席番号を入力し直して、また印刷ボタンを押さないといけませんよね。 これを、マクロを使って、たとえば自分のクラスが28人なら、自動で1番から28番までを印刷するという設定をしたいのですが・・・。 言っている意味が分かっていただけるとありがたいのですが、どなたか、ご存知の方、よろしくお願いします。かなり切羽詰ってます。

  • エクセルマクロ 印刷「105~110」などの自動連続印刷の仕方

    エクセルです。今、Vlookup関数で別のシートから呼び出して表示しています。例えば、シート1のA4に「101」と入力するとシート2を参照してデータをもってくるようになってます。 そして、102、103~と打つことによって変化していきます。 また、 101~131まで、一気に自動印刷するマクロはできました。 同様に、 201~231まで、一気に印刷するマクロはできました。 そこで、教えて欲しいのです。 105~110など途中のところを連続印刷するためのマクロはどのようになりますか。 もちろん、105~110などと打つセルをつくる必要はあると思いますが・・・。お願いしますm(_)m

  • Excelで連続印刷をするマクロ

    Excelでデータベース的な使い方をしています。 「データ」シートにたくさんのデータがあり, 「レポート」シートのA1セルに入力した数字に該当するデータをVLOOKUP関数で読み込んでいます。 それを連続印刷するときに, 現在は For n = 1 To 135 Range("A1").Select ActiveCell.FormulaR1C1 = n ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Next n End Sub というマクロで実行させています。 (ちなみにマクロの知識がほとんどなく 「新しいマクロの記録」を利用して作ったため,ほとんど意味は分かっていませんが・・・) このマクロでも印刷できるのですが, このままだとデータが 1 ~ 135に固定されてしまいますよね。 実際はデータ数が変動するので,そのたびにマクロの数字を変えています。 そこで考えているのが 新たに「設定」シートを作成して そこのiとjのセルに数字を入力することで,自動的に マクロが n = (iに入力した数字) To (jに入力した数字) となるようにした方が便利だと考えています。 あまりマクロについての知識がないくせに ほんのちょっとの工夫でできるような気がして・・・ あれこれ試してみたけどできません。 できれば今のマクロを根本的に変えるのではなくて 少しの変更とか追加とかでできるようにしたいのですが可能でしょうか? ぜひ 教えてください。よろしくお願いします。

  • エクセルで140人をマクロをつかって連続印刷?

    140人の個別IDがあります。それをVlOOKUPで参照して別のシートに引き出しています。一回一回、IDを入力しては印刷ボタンをクリックしてきました。140人を一度に印刷したり、10~40番までを指定して連続印刷したりするマクロを教えてください。

  • マクロの連続印刷

    エクセルのシート1に情報が登録してあり、A列の番号をシート2のセルA1に入力すると情報が入る仕様のブイルックを組んでいます。 これを連続してA1,A2,A3と連続印刷したいのですがどのようなマクロを組めばよいのでしょうか?

  • excelでマクロを使用した連続印刷について

    A2セルから通し番号、氏名、住所等のデータが入力されている「データ」シートがあり、 VLOOKUPを使用してB3セルに「データ」シートのA列にある「通し番号」を 入力すると氏名・住所等が反映される「印刷」シートがあります。 例えば「データ」シートのC列(住所)に「東京都」という文字列が 含まれている宛名のみを連続で印刷したい場合、 どのようなマクロになりますでしょうか? (マクロ内に「東京都」と指定する方法と、 シート内の特定セルに入力した文字列で指定する方法が ありますでしょうか?) wordでの差し込み印刷や、宛名ソフト等の使用は考えておりません。 よろしくお願いいたします。

  • エクセルのマクロの連続印刷で困っています。

    初心者です。 エクセルのマクロで通知書を指定した番号~番号までを連続印刷 させたいのですが、印刷をすると、印刷結果が最初の番号は指定した 番号まで印刷されて良かったのですが、次から最後までの番号の 印刷が同じものが印刷されていき、どんどん増えていってしまって いて困っています。 いろいろとやり方を変えてみたりしたのですが、どこが間違えて いるのかが結局分からず、どなたか詳しい方、教えていただけます ようでしょうか?>< よろしくお願いします。 ---- 失敗経緯は↓の感じです ・ただ連続印刷させたらシート1まで印刷したのでシート2を  セレクトさせるようにした ・連続印刷させるように指示した番号が繰り返し印刷される  のでプレビューさせて、プレビューされた1枚だけが印刷  させるようにプレビューを追加した にもかかわらず、プレビューでは1枚だけがプレビューされ るのに印刷結果はプレビュー以外の番号のものまで印刷されて しまいます。しかも、既に印刷がされているものまでもです。 シート2は、VLOOKUPで読み込ませているものは1人分だけの 情報のはずなのに、何故、それ以外の人の分まで印刷して しまうのでしょうか>< エクセルの構成は、 ・シート1 通知書に印刷させる用でID管理用の一覧になっています。 このシートにシート2で印刷させたいNoを入力・印刷指示 をさせています。 ・シート2 シート1で指定されたNoをVLOOKUPで読み込ませて表示させて います。(1人分で1枚のみ) ・セルには名前をつけています Sub 通知書を連続印刷する() myMsg = MsgBox(Range("通知書連続始め").Value & " 番から " & Range("通知書連続終わり").Value & " 番まで一括印刷しますか?" & Chr(10) & Chr(10) & "現在の使用プリンタは " & Application.ActivePrinter & " になっています。", vbOKCancel) If myMsg = vbOK Then For i = Range("通知書連続始め") To Range("通知書連続終わり") Range("連続印刷するNO").Value = i Worksheets("シート2").Select Worksheets("シート2").PrintPreview (False) Worksheets("シート2").PrintOut Next Else MsgBox (" 一括印刷を中止しました ") End If End Sub

  • エクセル2010で印刷マクロを組むには

    印刷シートに,Vlookup関数でいろいろあるタグから引用したデーターを,名簿にある個人個人のファイルとして印刷をしたいと思っています。マクロを組まないとなると,個人のデータを反映させた後,ファイル→印刷,新たに整理番号入力→ファイル→印刷と・・・いちいち,整理番号を入力後,マウスを動かし,人数分の数だけ同じ作業をしないといけないのですが,それをマクロを組んで,印刷フォームのあるタグの上部等の印刷指定していない場所に,印刷ボタンを作ってそのボタンをクリックするだけで,印刷できる方法を教えてほしいと思っています。 できれば,その個人には,通し番号があるので。番号を進ませるボタンや逆に番号を戻すボタンもあれば,なおいいし,たとえば○○番から△△番まで指定して印刷ボタンをクリック,プリンターからはその指定した分の個人情報が入力した紙ベースの資料が出てくる・・・・・となったら最高です。 よろしくお願いします。

  • エクセルで連続印刷

    添付画像のような入力データがsheet1にあります。C1セルに数値を入力すると、該当する「no」カラムを読み込んで、その行のデータをシートを変えて印刷用のデータを作成するようになっています。 印刷用のデータをC1セルの数値を1回ごとに変え、シートを移動してからctrl+pで印刷していましたが いちいち数値を入力するのが面倒になりました。 そこで数値を範囲で指定したいのです。 例えば、1から10という指定の仕方で自動プリントアウトする設定はできないかなと考えております。 こういうことは可能でしょうか よろしくお願い致します。

  • エクセルのマクロで、印刷設定をしたいのですが可能でしょうか?

    エクセルのマクロで、印刷設定をしたいのですが可能でしょうか? お世話になっています。 会社での作業を少しでも効率よく出来ないものかと、以下のようなことを考えています。 エクセル2003を使用していますが、下記のような動作をするマクロを組むことは可能でしょうか? よろしくご教授ください。 Sheet1は、入力用のシートとして使っています。 Sheet2は、Sheet1に入力された商品データなどから、必要な箇所のみ反映されるように設定しています。 このシートは、罫線などが存在し表形式になっており、全てを印刷するとA4用紙6枚分になります。 そこで、Sheet1(入力用のシート)のJ18セルに文字が入力された場合は、Sheet2(印刷用のシート)の1ページだけを印刷したく、Sheet1のj27セルに文字が入力された場合は、Sheet2の2ページまで・・・ Sheet1のJ36に文字が入力された場合は、Sheet2の3ページまでという風に印刷範囲を設定しなくても印刷出来るようにしたいのです。 よろしくお願いします。

専門家に質問してみよう