今日は前回(宛名を変えて自動的に連続印刷する方法)の続きです。
さて、前回の最後に書きましたが、連続印刷の場合、プリンタによっては、一度に大量のデータを送りつけられると
エラーとなって印刷できない危険性があります。
そんなリスクを回避するために、コードを追加します。
以下のように変更してください。
追加個所は、赤枠で囲ったところですよ。
UNITという定数に5を設定しました。
この数字の倍数のときに、メッセージボックスが表示されます。
表示されている間は、印刷データがプリンタに送られません。
ある程度印刷された段階で、このメッセージボックスのOKを押してください。
すると、また、UNITに設定された数だけ(今回なら5回分)印刷データを送り込んで、メッセージボックスが表示されます。
こうして、一度に大量のデータを送信することを回避しているのです。
それでは、実行してみましょう。
Excelに切り替えて、Excel2003までは、「ツール」→「マクロ」→「マクロ」とクリックします。
Excel2007は、Altキーを押しながらF8キーを押してください。
実行ボタンをクリックします。
今回のコードは、実際に印刷するのではなく、印刷プレビューとなります。
5回プレビューされるとメッセージボックスが表示されます。
(厳密に言うと、最初のメッセージボックスは、5回よりも少なくなります)
メッセージボックスのOKを押すと、5回プレビューして、再度メッセージボックスが表示されます。
ちなみに、UNITの5 を変更すると、その数字分だけ印刷してメッセージボックスが表示されます。
いろいろと試してみてください。
だい
さて、前回の最後に書きましたが、連続印刷の場合、プリンタによっては、一度に大量のデータを送りつけられると
エラーとなって印刷できない危険性があります。
そんなリスクを回避するために、コードを追加します。
以下のように変更してください。
Sub 連続印刷() Dim i As Integer Dim LastRow As Integer Const UNIT As Integer = 5 Worksheets("発注書").Select With Worksheets("名簿") LastRow = .Range("A65536").End(xlUp).Row For i = 2 To LastRow If i Mod UNIT = 0 Then MsgBox "一定数印刷されたらOK押してね" End If Range("A4").Value = .Range("A" & i).Value ActiveSheet.PrintPreview Next End With End Sub
追加個所は、赤枠で囲ったところですよ。
UNITという定数に5を設定しました。
この数字の倍数のときに、メッセージボックスが表示されます。
表示されている間は、印刷データがプリンタに送られません。
ある程度印刷された段階で、このメッセージボックスのOKを押してください。
すると、また、UNITに設定された数だけ(今回なら5回分)印刷データを送り込んで、メッセージボックスが表示されます。
こうして、一度に大量のデータを送信することを回避しているのです。
それでは、実行してみましょう。
Excelに切り替えて、Excel2003までは、「ツール」→「マクロ」→「マクロ」とクリックします。
Excel2007は、Altキーを押しながらF8キーを押してください。
実行ボタンをクリックします。
今回のコードは、実際に印刷するのではなく、印刷プレビューとなります。
5回プレビューされるとメッセージボックスが表示されます。
(厳密に言うと、最初のメッセージボックスは、5回よりも少なくなります)
メッセージボックスのOKを押すと、5回プレビューして、再度メッセージボックスが表示されます。
ちなみに、UNITの5 を変更すると、その数字分だけ印刷してメッセージボックスが表示されます。
いろいろと試してみてください。
だい
そうです私がリクエストしたヤツは、これと指示書・受取書(公的機関にいたので証明書発行に使ってました)をエクセルシート横3列に並べてリンク貼ったものの連続印刷方法なのです。
(説明わかりづらくてごめんなさい)
とりあえず、コードを見てますと「後ろから」考えていくんですね?
大変勉強になりました。ありがとう御座いました。
万年カレンダー式のカレンダーで
00:00~00:00=00:00となる
タイムカードの作り方教えてください。
これもVBA使ってるようでかなり難しく、
前の会社のタイムシートがこれでした。
このフォームに数字を打ち込むと1ヶ月の勤務時間数が一発ででて、曜日もわかるという仕組みです。
今回のリクエストにつきましては、近いうちに取り上げますので、楽しみにお待ちください。
今後もよろしくお願いいたしますね。
今回のリクエストにつきましては、近いうちに取り上げますので、楽しみにお待ちください。
今後もよろしくお願いいたしますね。