• ベストアンサー

エクセルで連続印刷

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

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

>連番ボタンから印刷をすると、印刷物にC1セルの位置にnoが表示されて、一緒に印刷されてしまいます。 わざわざ印刷シートを見ながらマクロを実行しているからですね。 回答は,ご相談で掲示されている画像のシート(のC1セル)を操作する/が見えてる状態でマクロを使う事を想定しています。 それ以外のシーンへの応用は,基本,自力で願います。 >データを反映する速度よりもプリンターが読み込むスピードの方が早い 印刷シートの計算式が遅い(重い)と,そういう事が起こる場合もあります。 適当な時間を指定して待ちを入れます。 sub 範囲を指定して印刷r1()  dim s as long  dim e as long  dim i as long  on error resume next  s = inputbox("Start")  if s = 0 then exit sub  e = inputbox("End")  if e = 0 then exit sub  for i = s to e   worksheets("リストのシート").range("C1") = i ’適宜修正   application.wait now + timeserial(0,0,10)  ’適宜修正   worksheets("印刷シート").printout  next i end sub

verify
質問者

お礼

印刷シートを見ながらするとそのような現象がおこるとは知りませんでした。お教えありがとうございます。計算式の遅さの問題ですが、新たなプログラムで複数シートを問題なく打ち出すことができました。 回答&フォローまことにありがとうございました。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

方法1) ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける sub プラス1して印刷()  range("C1") = range("C1") + 1  worksheets("印刷シート").printout ’適宜修正 end sub ファイルメニューから終了してエクセルに戻る C1セルの横にオートシェイプの図形等を1個配置する 右クリックしてマクロの登録で、今のマクロを登録する クリックするたび、C1の数字を1つ増やし印刷してくれる。 方法2) ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける sub 範囲を指定して印刷()  dim s as long  dim e as long  dim i as long  on error resume next  s = inputbox("Start")  if s = 0 then exit sub  e = inputbox("End")  if e = 0 then exit sub  for i = s to e   range("C1") = i   worksheets("印刷シート").printout  next i end sub ファイルメニューから終了してエクセルに戻る シート上にオートシェイプの図形等を1個配置する 右クリックしてマクロの登録で、今のマクロを登録する クリックすると1から10のように指定し、印刷してくれる。 #参考 方法3) 印刷シートに印刷帳票を沢山用意する 各帳票には、数式を使って指定の開始番号から+1ずつした数字のデータを参照してくるように数式を準備する 印刷範囲の設定を名前の定義を使い、指定した数分のセル範囲が印刷範囲となるように設定する http://miyahorinn.fc2web.com/tips/s_07_10.html 開始番号と、そこから幾つ印刷したいのかそれぞれセルに記入し、印刷させる

verify
質問者

補足

回答まことにありがとうございます。 当方の環境にもっと合っていたのが、2の方法でしたので方法2)を試してみました。 連番ボタンから印刷をすると、印刷物にC1セルの位置にnoが表示されて、一緒に印刷されてしまいます。 また、15枚程度を連続して印刷するとデータを反映する速度よりもプリンターが読み込むスピードの方が早いのか、同じ印刷物が出てきてしまいました。 プリンターが読み込むスピードを少し遅らせること等は可能でしょうか もしよろしければ、フォローをお願いします。

関連するQ&A