- ベストアンサー
エクセルで在庫管理
在庫管理をエクセルでしているのですが、 在庫が0を切った(0以下になった)ら入力できない方法はありますか? 条件付で色を変える方法は分かるのですが、0以下になるから入力できなくする方法なんてないのですかね? 教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
モデル的に考えてみました。 例データSheet1の A1:C10 入庫 出庫 在庫 40 30 100 100 20 180 ・・・ C列の、C2以下には =IF(AND(A3="",B3=""),"",C2+A3-B3) と式が入れてあるとします。 Sheet1のChangeイベントで Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column < 3 Then If ActiveSheet.Cells(Target.Row, "C") < 0 Then MsgBox "在庫マイナス" Application.Undo End If End If End Sub と入れます。 モデル的といったのは、色々な入力ケースに耐えうるかどうかわからないからです。 VBAを勉強したことがなければ、自分のケースに適用できないですが。
その他の回答 (3)
No.2です。 [入力値の種類]→“ユーザー設定” [数式] → =A1>=0
厳密に言えば、「0を切ったら」と「0以下になったら」は同じではありません。0 は「0以下」だけど、0を切ってはいないから。 例えばセル A1 が「0を切ったら」あるいは「0以下になったら」、セル B1 に「入力できない方法」は入力規則で実現できます。
- popesyu
- ベストアンサー率36% (1782/4883)
エクセルの関数や機能だけでは無理でしょうね。 例えば入力規則であるセルに0以下の数値を入力させないということは簡単にできますが、在庫管理ということは、その見張りたいセルは計算式で出した合計の数値になるんですよね? それだと入力規則は適用されませんし。 VBAなどで入力フォームを作って、そこに数字を入れて「入力」ボタンを移して値を書き写すという仕様にするなら簡単にできます(というか入力フォームなら通常、入力値をチェックする機能も当然取り入ておく必要があるわけですが)。
お礼
早速の回答ありがとうございます。 やっぱり無理ですか・・・ チェックするしかないようですね・・・ ありがとうございました。
お礼
そうですね・・・・ 「0より少なくなったら」です・・・ >例えばセル A1 が「0を切ったら」あるいは「0以下になったら」、セル B1 に「入力できない方法」は入力規則で実現できます。 どのようにすれば出来るのでしょうか?