プロが教える店舗&オフィスのセキュリティ対策術

エクセルでマクロを作り始めた初心者です。
Sheet1に、氏名、住所、TEL、会社名、担当者、金額・・・と続くデータが6000レコードほどあります。(レコードは随時増えていきます)

Sheet2では、担当者名を条件にSheet1から必要な列(上記に記載したもの5つ)のみを抽出するマクロでデータを取り出すようになっています。

抽出したデータをsheet3のフォーマットに氏名、住所、金額の列だけ入れるのですが、入れられる行が20行と決まっており、最後の行には、合計欄が入るようになっています。

不特定数のレコードを20行ごとにページを区切って印刷するにはどうしたらよいでしょうか。ご教示お願いします。

A 回答 (1件)

> 入れられる行が20行と決まっており


これはデータレコードが20行という意味でしょうか?
実際は列のヘッダと合計行で22行?
それと1ページを超える場合、合計行は各ページに入るのですか?
また、各ページの合計行は、累計?それともそのページの小計?

アイディアとしては、ダサイ方法ですが、
Sheet2の全データ行をSheet3にコピーしながらカウントして、
20行になったら印刷を実行して、ページクリア
を繰り返すという方法。

Sheet2が特に必要ないなら、
抽出部分で同時に印刷してしまう方法もあると思います。

私ならAccessを使ってしまいますけどね。楽だから...

この回答への補足

>> 入れられる行が20行と決まっており
>これはデータレコードが20行という意味でしょうか?
>実際は列のヘッダと合計行で22行?
>それと1ページを超える場合、合計行は各ページに入るのですか?

おっしゃるとおり、全体で22行です。合計行は、今日確認したところ、最終行だけでよいようです。
抽出で最高200レコードくらいみればよいようなので、あらかじめ
Sheet3のデータレコード欄を200行開けておき、空白行を非表示にしようかとも考えたのですが、マクロで空白行数(というか番号?)を調べる方法がよくわからず、困っております。

空白行を非表示にするVBA?を教えていただけるとありがたいです。

ちなみこのデータ、Accessから取り出されてるんです(汗)
Accessを持っていない人のためにわざわざExcelにして、フォーマットにあわせて必要なデータを入れ込むというよくわからない作業なんでございます。

補足日時:2008/02/07 19:19
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!