• 締切済み

エクセルで注文入荷表を作成したい

職場でエクセルにて部品の注文入荷表を作成したいと思ってます。 注文は毎週1回行うのですが、注文したい部品は職場の仲間たちが、日々、エクセルに1行づつ記入し、継ぎ足していきます。そして、発注日がきたら、発注を行った後に全列のk行に”注文中”と記入します。そしてシートを新たに追加し、来週分の記入表とします。(これを毎週繰り返すのです) 一方、部品が入荷したら、先週(もしくは先々週以前)のシートのK行に”注文中”から”入荷済”へ書き換えます。 ところが問題が・・・毎週シートが増えていくわけですから、部品が入荷したときに、いつの週に注文した部品なのかシートを1つ1つ探すのが大変になりました。 そこで、全シートを対象にk行が”注文中”となっている列のB行からJ行を別シートに抽出したいのです。こんな事はエクセルで可能でしょうか?

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

ま、聞く耳持たないのは判ってました。 >どのようなマクロですか? 【準備】 全てのシートは1行目にタイトル行、2行目からデータを記入してあること。 マクロ実行時点で注文シート以外の余計なシートを含んでいないこと。 sub macro1()  dim w as worksheet  dim w0 as worksheet  set w0 = worksheets.add(after:=worksheets(worksheets.count))  w0.previous.rows(1).copy w0.range("A1")  application.screenupdating = false  for each w in worksheets   if w.name <> w0.name then    w.autofiltermode = false    w.range("B:K").autofilter field:=10, criteria1:="注文中"    w.autofilter.range.offset(1).copy w0.range("B65536").end(xlup).offset(1)    w.autofiltermode = false   end if  next  application.screenupdating = true end sub

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

非常に多くの初心者さんから寄せられるご相談の一種で、「シートを分けたい」というその一点からドツボにはまっている典型的な状況です。 【上手なエクセルの使い方】 シートを分けるのはキッパリやめる 1枚のシートにひたすら下向けに「注文」を記入していく K列にオートフィルタを取り付け、「入荷済」以外を表示する設定を取り付けておく 発注日が来たらK列の空白セルに「注文中」を記入する 入荷したらK列の「注文中」の該当するモノを「入荷済」に更新する これだけで全てが滞りなく管理できるようになります。先々週の発注の入荷を見落とす事も、誰かがダブりで発注してしまう事もありません。 >全シートを対象にk行が”注文中”となっている列のB行からJ行を別シートに抽出したい 適切にマクロ等を併用する事で、まぁまぁ「使える」シートを作成する事は可能です。 でも抽出したシートで「注文中」を更新したところで、肝心の大本のシートのデータが更新されていなければ、なんにもならない事に留意してください。

kimitaki1023
質問者

補足

適切にマクロ等を併用する事で、まぁまぁ「使える」シートを作成する事は可能です。・・・とは、どのようなマクロですか?

関連するQ&A

専門家に質問してみよう