[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『同じセルに入力して加算できますか』(arai)
こんにちは、宜しく御願い致します
A B C 1 100 1 100 2 150 3 200 2 400 4 250 5 300 3 900 6 350
上記のようにA列に値段、B列に数量、C列に金額を入力するシートがあります。 A列の値段は変わらず、B列のセルに次々に入力していきます ここで、質問なんですが 例えば、B1に2個追加があった場合、2を入力すると、既に入力してある1に加算して 自動的に3になるようなことって、出来ますでしょうか? 作業列を使わずにやりたいのです。 環境はWindowsXP Excel2002です 宜しく御願い致します(arai)
過去ログに大変参考になるものがありました。
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then End If Range(Target.Address) <> Range("a1") Then End Application.EnableEvents = False Range("b1") = Range("b1") + Target Application.EnableEvents = True End Sub
この場合には一つのセルに対して実施しているんですが 上記のような場合でA1からA6までに対してB1からB6に反映させるには どのようにしたら宜しいのでしょうか? 宜しく御願い致します (arai)
こんばんわ ご提示のコードは、A1を変更したときB1に加算していきますが?(seiya)
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then End If target.column <> 2 Then End Application.EnableEvents = False target.offset(,1).value= target.offset(,1).value + Target.value Application.EnableEvents = True End Sub エラー処理はしていません
こんばんは えっと、一番最初のご要望やとこんな塩梅でっか? せやこど、あとから加算する数値を打ち間違えたらどないしまんのん? もとあったデータも不明になってしまうこっちゃしなぁ。 あんまり感心しまへんなぁ。 (弥太郎) 標準モジュールへ '------------------ Public data As Long '------------------ 'シートモジュールへ '------------------- Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Column <> 2 Then Exit Sub If Target = "" Then data = 0: Exit Sub Application.EnableEvents = False If IsNumeric(Target) Then Target = data + Target Application.EnableEvents = True End If End Sub '--------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column <> 2 Then Exit Sub If IsNumeric(Target) Then data = Target End If End Sub
完璧です。どちらも思ったとおりのフォーマットができました。 早速明日会社に持っていきやらせていただきます 感謝いたします。本当にありがとうございました。(arai)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.