[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『加減』(丸美屋)
お世話になります。
エクセルのテンプレート内のリストの作成を使い在庫の管理をしているのですが、数が増えたり減るたびに残数を入力していると在庫が合わなくてなってしまう事が多々あり結局1から数え直す羽目になってしまいます。
その回避をするため在庫管理をテンキーの+−で気軽に打ち込むにはどの様に作成すればいいのでしょうか?
< 使用 Excel:Excel2016、使用 OS:Windows10 >
何をどのようにしているのかどうしたいのか全くわかりません。(私だけ?) もう少し、何をどう入力しているのかとか表のレイアウトとか ご説明いただけませんか? (コナミ) 2018/03/02(金) 16:49
レイアウトはこれで、小計を+−で操作し、合計値を自動で計算する感じです。
(丸美屋) 2018/03/02(金) 17:01
上記として考えてます。
小計に在庫を入荷したのであれば数字のみ
出荷したのであれば-をつけて入力
合計を出したいセルに
=SUM(B2:B5)
を入力。
(くまお) 2018/03/02(金) 17:14
Sub 赤を出荷 ( )
With Range("B3")
.Value = .Value - 1
End With
End sub
青、黄、緑のもB3の値をB4、B5、B6、に変更して作って
ボタンを挿入してマクロを登録すればできるかと。
最初に投稿した時の状況で考えているので
配置が違う場合にはそのセルの値を入力してください。
(くまお) 2018/03/02(金) 17:28
Sub 赤を出荷()
[B3] = [B3] + 1
End Sub
ちなみにこちらでも大丈夫です。
(くまお) 2018/03/02(金) 17:32
Private Sub Worksheet_Activate()
If ActiveCell.EntireColumn.Cells(1).Value Like "*小計*" Then data = Val(ActiveCell.Value) End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.EntireColumn.Cells(1).Value Like "*小計*" Then data = Val(Target.Value) End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "+" Then Application.EnableEvents = False Target.Value = data + 1 Range("A:A").Find("合計", , , xlWhole).Offset(, 1).Value = WorksheetFunction.Sum(Range("B:B")) - Range("A:A").Find("合計", , , xlWhole).Offset(, 1).Value Application.EnableEvents = True End If If Target.Value = "-" Then Application.EnableEvents = False Target.Value = data - 1 Range("A:A").Find("合計", , , xlWhole).Offset(, 1).Value = WorksheetFunction.Sum(Range("B:B")) - Range("A:A").Find("合計", , , xlWhole).Offset(, 1).Value Application.EnableEvents = True End If End Sub (mm) 2018/03/02(金) 18:14
スピンボタン置けばいいのでは? その説明では私はこれしか書けません。 (コナミ) 2018/03/02(金) 19:08
>小計を+−で操作し
ちょっと思いつかなかったので、かわりに隣のC列に+,- を入力するたびに加減するようにするならこんな感じでいけるとおもいます。
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Columns("C"), Target) Is Nothing Then Exit Sub If Target.Count > 1 Then Exit Sub
Select Case Target Case Is = "+" Target.Offset(, -1).Value = Target.Offset(, -1).Value + 1 Target.Value = "" Case Is = "-" Target.Offset(, -1).Value = Target.Offset(, -1).Value - 1 Target.Value = "" Case Else
End Select
End Sub
(もこな2) 2018/03/04(日) 06:54
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.