[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『同じセルに入力して加算できますか』(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.