[[20100413204452]] 『1シートに4レコードを連続印刷』(プリンシプル) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『1シートに4レコードを連続印刷』(プリンシプル)
お世話になります。1シートに1レコードの連続印刷は過去ログの中の次のマクロを活用して重宝しております。

Sub 印刷() ':
If vbNo = MsgBox("「" & Worksheets("データ").Range("開始番号") & "」番より " & "「" & Worksheets("データ").Range("終了番号") & "」番まで印刷しますか", vbYesNo) Then Exit Sub
Range("印刷番号") = Range("開始番号")
Do While Range("印刷番号") <= Range("終了番号")

    Sheets("印刷").PrintOut
    Range("印刷番号") = Range("印刷番号") + 1
Loop
End Sub

上記例では、シート(印刷)の印刷番号セル(A1)は1箇所なのですが、プリント用紙の関係で、A1セルE1セルA11セルE11セルの4箇所にレコードの番号を振り分け連続印刷したいのですが。
1番から6番までのレコードを選択した場合、1枚目の用紙で1番から4番の4レコード分を印刷し、5番は2枚目のプリント用紙のA1セルに、6番はE1セルに、A11セルとE11セルはブランクになり合計2枚のプリントが連続印刷できるようにしたいのですが、サッパリ判りません。よろしくご教授願います。


 番号だけを印刷するのですか?
 それとも、マクロが入力した番号を参照して
 数式でそれぞれのセルにデータが表示されるように成っていますか?

 まず、E1,A11,E11 セルにはそれぞれ
 =IF((A1+1)>終了番号,"",A1+1) の様な式をいれて
 連番になるようにする。

 そして、コードの方は
 例えば、開始番号が 1だった場合 次の印刷時は 1+1 = 2 ではなく
 1+4 = 5 に成ればよいので
    Range("印刷番号") = Range("印刷番号") + 4

 の様にしてみるとどうでしょう。

 (HANA)


HANAさま
 ありがとうございます。前回もお世話になりました。

マクロで番号を入力後に、その番号に対応したデータをVLOOKUPでA2、E2、A12、E12に表示させて4件1枚で印刷したかったのです。

すべてのセルにマクロで対応しようと悩んでおりましたが、E1セルに
=IF(A1="","",IF((A1+1)>終了番号,"",A1+1) 以下同様を入力して、アドバイスどおりに
コードを変更してできました。

ありがとうございました。

(プリンシプル)


 うまくいきましたか、良かったです。

 省エネなのでエコですよ!!

 ちなみに
 >E1セルに =IF(A1="","",IF((A1+1)>終了番号,"",A1+1) 以下同様
 これは、各セルで、「A1」部分を変更しているのかと思いますが
 A1セルを固定にして +1 ,+2 ,+3 の部分を変更しても
 良かったかもしれません。

 (HANA)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.