- 締切済み
エクセルで注文入荷表を作成したい
職場でエクセルにて部品の注文入荷表を作成したいと思ってます。 注文は毎週1回行うのですが、注文したい部品は職場の仲間たちが、日々、エクセルに1行づつ記入し、継ぎ足していきます。そして、発注日がきたら、発注を行った後に全列のk行に”注文中”と記入します。そしてシートを新たに追加し、来週分の記入表とします。(これを毎週繰り返すのです) 一方、部品が入荷したら、先週(もしくは先々週以前)のシートのK行に”注文中”から”入荷済”へ書き換えます。 ところが問題が・・・毎週シートが増えていくわけですから、部品が入荷したときに、いつの週に注文した部品なのかシートを1つ1つ探すのが大変になりました。 そこで、全シートを対象にk行が”注文中”となっている列のB行からJ行を別シートに抽出したいのです。こんな事はエクセルで可能でしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- keithin
- ベストアンサー率66% (5278/7941)
ま、聞く耳持たないのは判ってました。 >どのようなマクロですか? 【準備】 全てのシートは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)
非常に多くの初心者さんから寄せられるご相談の一種で、「シートを分けたい」というその一点からドツボにはまっている典型的な状況です。 【上手なエクセルの使い方】 シートを分けるのはキッパリやめる 1枚のシートにひたすら下向けに「注文」を記入していく K列にオートフィルタを取り付け、「入荷済」以外を表示する設定を取り付けておく 発注日が来たらK列の空白セルに「注文中」を記入する 入荷したらK列の「注文中」の該当するモノを「入荷済」に更新する これだけで全てが滞りなく管理できるようになります。先々週の発注の入荷を見落とす事も、誰かがダブりで発注してしまう事もありません。 >全シートを対象にk行が”注文中”となっている列のB行からJ行を別シートに抽出したい 適切にマクロ等を併用する事で、まぁまぁ「使える」シートを作成する事は可能です。 でも抽出したシートで「注文中」を更新したところで、肝心の大本のシートのデータが更新されていなければ、なんにもならない事に留意してください。
補足
適切にマクロ等を併用する事で、まぁまぁ「使える」シートを作成する事は可能です。・・・とは、どのようなマクロですか?