VBAでエクセルシートのPrint指示は実務的に何件程度まで可能でしょうか?

このQ&Aのポイント
  • VBAでエクセルシートのPrint指示は実務的に何件程度まで可能なのか疑問です。
  • 質問者はデータの入ったシートからPrint用のシートにデータを取り出してPrintするマクロを作成しましたが、数千件のPrint指示をすることは未経験です。
  • プリンターの性能によると思われますが、数千件のPrint指示をしても問題ないでしょうか?
回答を見る
  • ベストアンサー

VBAでエクセルシートのPrint指示は実務的に何件程度まで可能でしょうか?

データの入ったシートからPrint用のシートにデータをDo Loopで、1件ずつ取り出し、1データで1枚、1回ごとにPrintするマクロを作成しました。 テストで10件程度はやってみて作動は確認済みです。 しかし気になるのは、本番では数千件のPrintになることです。 そんな大量な回数のPrint指示をこれまでやったことがありません。これまでは最大で100データ程度でした。 件数が多いので(紙がむだになるので)事前にテストするわけにもいきません。 プリンターの性能にもよるのでしょうが、数千件のPrint指示をしても大丈夫なものでしょうか?プリンターはレーザープリンターでRIKOH IPSIOのNX610か、Cannonの同程度のものです。 なお、当然ながら途中で用紙切れになりますが、これは手動でトレイの用紙を補給する予定です。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

Windowsのプリントスプールにデータがたまるだけなので、ディスクに空きがあれば何千ページのプリントでもOS上は問題はないと思いますが、プリンタがPrintメソッド実行速度ほど早く印刷はできませんので(A4横20枚/分)、何枚か印刷したらSleepもしくはWaitさせる方が良いのではないでしょうか。 Printメソッド実行と印刷速度がある程度同期している方が、何かと対処がし易いと思います。(処理中断時の判断など) 回答になっていなくてすみません(^^;

merlionXX
質問者

お礼

さっそくありがとうございます。 そうですか問題ないですか。 ひとつのシートを何千枚か印刷するんなら問題はないでしょうが、何千という件数を連続して印刷指示したらきっと問題が起きるに違いないと思っていました。 でも、各指示ごとにSleepで少し遅らせてみることにします。

関連するQ&A

  • エクセル シート1からシート2へ日付抽出反映

    エクセル07で毎日出納をつけています。 シート1をデータベース、シート2を毎日のプリント用の フォーマットにして使用しています。今はコピペか手入力で プリントしています。そこでシート2の特定のセルに 日付を入力するだけでその日のデータがシート2へ反映させる事 はできますか?VBAでも関数でも結構です。 どなたか教えて下さい。 ちなみに毎日の件数は30件程度です。

  • マクロのワークシート変換でエクセルシートを取込ました。テスト用のデータ

    マクロのワークシート変換でエクセルシートを取込ました。テスト用のデータが200件でそれは上手くいったのですが、次に件数を変更(200件から1件に減らしました)してマクロを走らせると、データ1件、空白199件の結果になりました。取込むファイル名は毎回同じですが、件数は可変します。この場合はどのように設定をすればいいのかお教えいただきたく思います。件数を増やした分にはそれは取り込んだのですが、減らした分がダメなようです。

  • パワーポイントでプリントされるシートの大きさの調整

    パワーポイント(ver2003)に関する質問です。 シートが1ページに上下2枚づつのレイアウトで、表示されるシートの大きさの調整をすることは可能なのでしょうか? 知り合いからパワーポイントのデータ+データのプリントを貰ったのですが、私がプリントすると、貰ったデータのプリントアウトより、(シートが)ふた周りほど小さくプリントされてしまうのです。 プレゼンで使うデータなので出来るだけ大きく プリントしたいと言われ困っています。 知り合いが言うには、プリンターを(オフィス用のFAX+コピー複合機)変えると大きくプリントされたとのことですが、パワーポイント上でシートの大きさを変える設定は可能なのでしょうか? *データを変えるというより、シートを大きくプリントアウトする方法が知りたいのです。 分かりにくい質問ですいません。 よろしくお願いします。

  • Excel VBAで項目ごとに別々のシートに転記したい

    excel VBAで項目ごとに別々のシートに転記したい 困り度: すぐに回答を! excelVBA勉強中の初心者です。 初めて質問させていただきます。 初心者には難しく、行き詰ってしまいました。 仕事で以下のことがしたく、基本書、参考書などを調べて勉強し作成していっているのですが、身近に教えていただける方もおらず、つまづいております。 詳しい作成方法など、詳しい方にご教授いただければと思います。 book(1) 一ヶ月分の売上データが入っており、     A列に取引先名     B列に商品名     C列に件数     D列に合計額     があります(1万行前後)。 book(2) シート1に抽出したい取引先名の一覧(50件ほど)、      シート2以降は転記用でA列に商品の一覧(固定)、      例えば4月分であればB列に件数、C列に金額、     5月分であればD列に件数、E列に金額・・と一年間使用するため、件数・金額は12か月分用意してあります。      シート1にある抽出したい取引先ごとに作成しています。 (1)の売上データを、(2)にあるシート1の取引先一覧と一致するものを抽出して、取引先ごとに分けてあるシートに転記したいのです。 ※(1)の売上データには抽出不要の取引先も多数含まれています。 ※(1)の売上データは同じレコードが存在する場合もありますが、すべて別々のものとみなし、転記先シートには件数・金額ともに合計を表示したい 以上です。 よろしくお願いします。

  • エクセルでシート間の比較をしたいのですが。。。

    Excel2000を使用しています。 2つのシート間で同一データの有無の比較がしたいのです。 仮に比較したいものをシートA・Bとします。 それぞれ項目として、大字・小字・地番があり、それが同じ時に同一データと判断します。 件数にすると4000~5000件ぐらいあり、関数でやってみたのですが、うまくいきません。 比較で結果としては、下記の3パターンがあります。 1)AとBに有る。 2)Aに有って、Bに無い。 3)Bに有って、Aに無い。 希望としては、新たなシートに 2)と 3)のデータのみ抽出して、そのデータが 2)なのか 3)なのかわかるようにしたいのです。宜しくお願いします。

  • Excel vba

    Excel vba をはじめて1ヵ月程度の初心者ですが、すいません質問させて下さい。 シートをCodeNameでSheets()みたいに指定はできるのでしょうか? また、図形をIDでShaps()みたいに指定する方法はあるのでしょうか? どちらも名前(.Nameの方)は変えてある状態です。 例えばアクティブシート名は"テスト"、図形名は"サンプル"みたいな状態です。 名前は自由に変えていきたいのですが、名前が変わってもかわらず指定できるようにしたいです。 Sub test1 Debug.Print Activesheet.Name Debug.Print Activesheet.Index Debug.Print Activesheet.CodeName Debug.Print Excel.Selection.Name Debug.Print Excel.Selection.Index Debug.Print Excel.Selection.ShapeRange.ID End Sub どなたか御教授おねがい致します!!

  • エクセルVBAを中断する場合

    簡略化してますが、下記のVBAコードはDATAシートから1行ずつデータをBBBシートに読み込み、プリントまたはプリントプレビューするものです。 予期したとおりに作動するのですが、1点不満があります。 途中でやめることが出来ないのです。もちろんEscキーを長押しすればエラーになって止まりますが、そうするとステータスバーの表示が残ったままになります。 On Error GoTo で、Application.StatusBar = ""に飛ぶようにしているのですがEscキー長押しのエラーでは飛ばないようです。 1.どうやったらすんなり止めることができるでしょうか? 2.その他、改善点がありましたらご指摘ください。 Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Option Explicit Sub DM_OutPut() Dim myYN As Integer, myYN2 As Integer, s As Long, n As Long, x As Long, tx As String Dim ds As Worksheet, bs As Worksheet, base As Range s = 300 myYN = MsgBox("データはDATAシートに切れ目なくセットされてますか?", vbYesNo + vbQuestion, " (^∇^)?") If myYN = vbNo Then Exit Sub Else myYN2 = MsgBox("本番印刷行きますか?" _ & vbCrLf & "すぐ行っちゃうなら「はい」を、" _ & vbCrLf & "テストでプレビュー画面出すなら「いいえ」をクリックしてください。" _ & vbCrLf & "" _ & vbCrLf & "プレビューは1画面 約" & Format(s, "#,##0") & "ミリ秒間表示します。", vbYesNo + vbQuestion, " (^∇^)?") End If Set ds = Sheets("DATA") Set bs = Sheets("BBB") Set base = ds.Range("B3") '基準点 bs.Rows(3).ClearContents Do While 1 On Error GoTo line If base.Offset(n).Value = "" Then Exit Do '基準点以下にデータのある限り続ける bs.Rows(3).Value = base.Offset(n).EntireRow.Value n = n + 1 'カウント Application.StatusBar = Format(n, "#,##0") & "件目を処理しました。" If myYN2 = vbNo Then SendKeys "%C" 'デモ用 ActiveSheet.PrintPreview tx = "プレビュー" Else ActiveSheet.PrintOut Copies:=1 '本番用 tx = "プリント指示" End If Sleep s '休みを入れる Loop MsgBox Format(n, "#,##0") & "件を" & tx & "しました。", vbInformation, " (o^-')v " line: Application.StatusBar = "" End Sub

  • エクセルでのデータのあいまい検索のVBAについて

    VBAかマクロで作成したいと思いますが、あいまい検索ができずに困っております。 どなたかご教授お願いできますでしょうか? 一応画像を添付しておりますが大変見にくく申し訳ないです。  一つのファイルで2枚のワークシートを使用してデータのあいまい検索をしたいと思っております。 画像1の方のワークシートがSheet2になっていてこちらの”I”の列に入力しているデータが画像2になりますが登録商品リストの”G”の列に含まれているかを検索したいと思います。 その結果は”Sheet2”の緑色の部分”I”のセルにデータがあれば”*”をJのセルに表示したいと思います。 登録商品リストには長いもので桁数が30桁近いものもありますがこの桁数を8ケタくらいまでの一致でSheet2のIの列のデータと照合して結果をJに表示できればと思っております。何卒ご教授くださいますようお願いいたします。 照合するデータにつきましては、その日によって件数が違いますので、Sheet2のI列にあるデータが200件くらいの時もあれば2000件くらいの時もございます。 登録商品リストは登録するたびに量が増えていくので照合件数も増えていくことになりますので、どちらも1行指定でできればべすとだとおもっております。

  • 2ページにわたるExcelをプリントする時の設定

    プリント時の設定についてご教授下さい! 1シートでA4/2ページに渡るExcelデータをプリントする時の設定。 プリンタないのでセブンのネットプリント利用。 その時に、縦長A4データ2枚分をA3・横長1枚に収まるようにプリント出来る場合と出来ない(左側余白で2枚になってしまう)場合の、どこの設定が違うのかが見つけられませんでした。 それが、セブンのネットプリント側の設定なのか、Excelの印刷の設定側なのかもよくわからないです。 自宅にプリンタがあった場合も、同様でしょうか? プリンタ側なのかExcel側のどこかで設定できるのかよろしくお願いします。

  • エクセルで作成した図が突然プリント出来なくなった

    エクセルで作成してた図がプリントできない。過去にエクセルで作成した図はいずれもプリントできるが、今回作成した図のみプリントできない。また、今回でも同様に作成した図の内数十MB程度のファイルは印刷するものの、数百MB程度の図のみプリントできない。この大きさの図を印刷指示を出すと、プリンタのキュウでは印刷中との表示は出るが、そのまま停止している感じ。PCやプリンタの再起動は何回か実施した。 ※OKWAVEより補足:「ブラザー製品」についての質問です。

専門家に質問してみよう