• 締切済み

複数あるシートのある範囲だけを一覧表にまとめる

複数枚(同じレイアウト)あるエクセルのシートで日報を作成しています。1日一枚作成しますので、シートの数は30枚です。そのレイアウト中に使用商品欄を設けてあります。実際にはD12が商品名E12が数量、F12が単価G12が金額で20行の使用商品記入欄があるシートです。使用商品が発生したときだけ記入するので、記入される行はまちまちです。 その範囲のみ30枚のシートを最終シートを作り、明細一覧のようにコピーペーストしています。 VBAを使い、自動に作成することはできるのでしょうか。 当方、超初心者なんです。 よろしくご伝授ください。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

>当方、超初心者なんです VBAで回答しても、自分の場合に合わせて修正できるようでないと、何にもなりませんが。 ●VBAでプログラムを組む上で必要な、3つの点で、条件が明確に質問の中に述べてないです。 (1)1日1シート、月中30シート。(日曜なども作るのですか)このブックの中に質問のレイアウト=内容以外のシートは含まれていませんか。 (2)使用商品欄は、D12-E12-F12-G12,この行から始まっているらしいが、必ず第12行からはじまっているのですね。(この点はどうもYESらしいが) (3)使用商品欄の終わる行(最終行、最大記入許容行数)は決まっていますか。 また使用商品欄の終わりの下の部分には、使用商品欄以外のデータは入っていますか(入る可能性はありますか) (1)

officeangel
質問者

補足

ご返事ありがとうございます。 (1)..含まれています。シート1に「入力」という名前のシートを設けてあり、ボタンを30個作り、何日目のシートを表示したり、そのシートをプリントしたりできるようにしています。その後ろに作業1日目~30日目という30枚のシートがあります。作業日報シートは1日目/2日目という名前です。作業によっては3日でおしまいという作業もあれば、30日まで続く作業もあるので...。 (2)...作業日報はすべて複製してるので位置はすべて同じです。横に四列縦に20行です。 すべて記入することもありますが、日によっては1行、なしといった日もあります。 (3)..最大記入許容量は、ですから20と思います。 その20行は他のブック(data.xls)から、商品データをとる(リストボックスを表示し、転記するようにしてあります)したがって、その20行の範囲は何も書かなければ空欄です。 その枠範囲以下には、作業商品以外の必要事項や、摘要欄を記入したりできるところは設けてあります。 商品だけを30日目の後ろに、ボタンの様なものを設け、その作業が終わった時点で、使用商品一覧で作りたいのです。 今現在は、それを各シートより範囲選択(まちまち)をし、コピーペーストしています。範囲選択を間違えると、商品が欠落するといった作業ミスもおこるわけです。これを自動にしたいという、身勝手なおもいです。日によってはこの作業がイベントごとに行うのですから、作業が時間がかかるのを軽減したいと思っています。やっとリストボックスより商品を選択できるようになった、超初心者です。 よろしくお願い致します。

関連するQ&A