エクセル在庫数量の更新について
(1)生産日ファイルと(2)集計表ファイルを利用して商品の在庫管理をしています。
(1)生産日ファイルには、D列に倉庫・E列に商品・F列に日付・G列に朝の時点での
在庫数量の情報が入っています。
(2)集計表ファイルには、翌日に出荷する予定が入っています。
A列に商品・B列に商品名称・C列~H列は倉庫A~Fからの出荷予定・I列は商品ごとの
合計が入っています。
この(2)集計表ファイルの情報をもとに、製造年月日が古いものから無くなるように
(1)生産日ファイルの情報を更新したいと思っています。
画像でいうと、
(2)集計表ファイル「あ」の商品が「A」の倉庫で10個出荷される予定になり、
(1)生産日ファイル「A」の倉庫に「あ」の商品は 20100501生産品 25個を15個にする。
(2)集計表ファイル「う」の商品が「A」の倉庫で30個出荷される予定になり、
(1)製造年月日ファイル「A」の倉庫に「う」の商品は「 20100401生産品 5個と 20100420生産品
15個と 20100425生産品 30個 の 計 50個」から「20100425生産品 20個 の 計 20個」にする。
といったようにしたいと思っています。
マクロでも関数でも良いのですが、何か良い方法を教えていただけないでしょうか?
No.2ベストアンサー
- 回答日時:
生産日ファイルでは、同じ倉庫で同じ商品の場合、日付の古い順に並んでいるのを前提としています。
計算の結果、生産日ファイルの数量が0になった行は削除するようになっています。
削除したくない場合は、コード中の該当箇所を削除してください。
計算の結果、集計表ファイルの値も変更しています。
変更したくない場合は、コード中の該当箇所を削除してください。
このコードは、同じファイルに、「生産日」というシートと「集計表」というシートがある、という条件で作りました。
別々のファイルであれば、
冒頭部分を
Set Sh0 = Workbooks("生産日ファイルのファイル名").Worksheets("シート名")
Set Sh1 = Workbooks("集計表ファイルのファイル名").Worksheets("シート名")
というように変更する必要があります。
WEB上で見栄えを良くするために、半角スペース2個を全角スペース1個に置換しています。
実際に使う場合は、元に戻してください。元に戻さないとエラーになります。
Sub test()
Dim Sh0 As Worksheet, Sh1 As Worksheet
Set Sh0 = Worksheets("生産日")
Set Sh1 = Worksheets("集計表")
Dim t As Range
Dim 商品 As String, 倉庫 As String, 出荷 As Long
Dim r As Long
With Sh1
For Each t In .Range(.Range("C6"), .Range("H10"))
出荷 = t.Value
商品 = t.EntireRow.Cells(1).Value
倉庫 = t.EntireColumn.Cells(5).Value
With Sh0
r = 3
Do Until .Cells(r, 1).Value = "" Or 出荷 = 0
If .Cells(r, 1).Value = 倉庫 And _
.Cells(r, 2).Value = 商品 Then
If .Cells(r, 4).Value >= 出荷 Then
.Cells(r, 4).Value = .Cells(r, 4).Value - 出荷
出荷 = 0
Else
出荷 = 出荷 - .Cells(r, 4).Value
.Cells(r, 4).Value = 0
End If
End If
r = r + 1
Loop
End With
'集計表の値を変えたくなかったら、この下のコード1行を削除してください
t.Value = 出荷
Next t
End With
'数量が0の行を削除
'削除したくない場合はこの下のコード5行を削除してください
With Sh0
For r = .Cells(.Rows.Count, 4).End(xlUp).Row To 3 Step -1
If .Cells(r, 4).Value = 0 Then .Rows(r).Delete
Next r
End With
End Sub
No.3
- 回答日時:
生産日ファイルにて、出荷予定数H列、残在庫数I列、出荷日J列など変動を計算させるための情報列を用意し、業務終了でI列からG列のマクロ更新。
まずは、必要となる値はセルへPUTする。計算で出来るかはその次、この考え方のが無難と思います。
ほかの回答がとんな結果かは検証してないのでわかりません。解説をもらって下さい。
更新の更新で2重に引かれたりしないようにしないと。
No.1
- 回答日時:
例えば、
出荷予定量=10に対し、実際は=20や=5となる可能性ありますか?。
現在在庫25→出庫30→入庫20、となるとき最終値15だけ管理していますか?。
(同じ生産日であるとき、一時的にマイナス在庫も考慮必要)
実際の出荷作業はエクセルの入力した後ですか、前ですか?。
これらを考えると
生産日ファイル、集計表ファイル、は元になるデータ群ですので、
経緯も残していない状態でリアルタイムでこの2シートを更新するのはどうかと思います。
基本的には1日1回更新、とした方が良いです。
シートをもう一つ準備し随時入力しリアルタイムの在庫状況を管理する、
その日の業務が終わったら、
それらを生産日ファイルと集計表ファイルに反映する運用をおススメします。
シート1、シート2からデータを取得、算出しシート3に結果を表示する
という機能は可能です。
この回答への補足
>出荷予定量=10に対し、実際は=20や=5となる可能性ありますか?。
あります。その際には関数やマクロを利用しないで手で訂正入力するつもりです。
>現在在庫25→出庫30→入庫20、となるとき最終値15だけ管理していますか?。
入庫は毎日ではないので手で訂正入力しています。
>実際の出荷作業はエクセルの入力した後ですか、前ですか?
実際に出荷されるのは、エクセルに入力された後です。
出荷数量が確定してから個人的に持っている生産日情報を更新しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- 運輸業・郵便業 ●(令和なのですが…) 今時、 (倉庫会社の在庫の)倉庫管理システムが、 “紙”(商品依頼書•注文書 2 2022/08/07 18:09
- 経済 【中国の不動産バブル崩壊は問題ないのでは?】 日本は物流倉庫の物流センター 5 2023/08/18 00:15
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Excel(エクセル) Excelで在庫表(クエリ、ピボット) 2 2022/04/11 17:11
- Excel(エクセル) 荷捌作業効率をあげるためのエクセル関数を教えてください。 8 2022/10/07 08:17
- ヤフオク! 関税 詐欺でしょうか?ヤフオク 3 2023/06/25 11:22
- Visual Basic(VBA) VBAで質問があります 1 2022/10/19 10:32
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- スーパー・コンビニ 一斉値上 スーパーの食料品 値上や単価の仕組みは? 4 2022/06/01 16:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onedriveの中身を削除したらパ...
-
mrl→midファイルへ
-
macのdmgファイル(動画)をMP4...
-
Winmerge ファイルの中身は同じ...
-
MGRファイルは消して良いのか
-
office365 ファイルを削除したい
-
クラリスワークスのファイルを...
-
コマンドプロンプトによるフォ...
-
Excellにて→ファイルエラー:デ...
-
ファイルの単位
-
同期センターのマークが出てま...
-
バッチファイルで変数の中身を...
-
Windows10 フォルダ内の自動並...
-
outlookuの添付ファイルが開け...
-
BAKファイルを非表示にする方法
-
Windows11 でのファイル削除
-
ファイル操作(削除など…)の履...
-
フォルダ内の一覧を印刷するには?
-
ファイルソートができるMac用フ...
-
WMP12のトラック番号編集...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Winmerge ファイルの中身は同じ...
-
onedriveの中身を削除したらパ...
-
同期センターのマークが出てま...
-
バッチファイルで変数の中身を...
-
コマンドプロンプトによるフォ...
-
Windows10 フォルダ内の自動並...
-
教えてください!困ってます。
-
ファイルの先頭行を全て削除したい
-
emlをtxtに変換するには?
-
ファイルの単位
-
Windows11 でのファイル削除
-
クラリスワークスのファイルを...
-
Excellにて→ファイルエラー:デ...
-
office365 ファイルを削除したい
-
macのdmgファイル(動画)をMP4...
-
mac ファイルの詳細情報を編集...
-
ファイル操作(削除など…)の履...
-
linuxのエディタgeditは複数フ...
-
BAKファイルを非表示にする方法
-
mac 表示できなくなりました。
おすすめ情報