[[20040909143826]] 『同一セル内での累積の計算』(匿名) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『同一セル内での累積の計算』(匿名)

どなたかご存知の方、教えてください。
同一セル内で、累積を計算したいのですが、何か方法あるでしょうか?
例えば、セルA1に値を入力すると、B2にはA1に入力した値がどんどん累積されるという感じです。
B2に数式を入力した場合、循環参照とかになってしまいうまくいきません。
お願いします。


 私は同じセル内での処理はお勧めしませんけど、以下を参考にどうぞ。   下にお越しになられました。^^
[[20031012162017]]『毎回同一セルに数字を入力して加算できるように』(事務) ↓ 
 (川野鮎太郎)                               ↓


 ↑の御方が止めときなはれっちゅう方法ですぅ。
 シートタブを右クリック
 そのシートモジュールに下のコードをコピペ
 戻って
 A1に数値を入力すると、な、な、なんと累積された数値が・・・(笑)
     (弥太郎)

 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("b2") = Range("b2") + Target
    Application.EnableEvents = True
 End Sub


↑これを応用して、e17からe24までのセルを同じようにd17からd24に累積していきたいのですが・・・。
("e17""e24")と、入力してみましたが、違うようです…

よろしくお願いします。

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Count > 1 Then End
    If Range(Target.Address) <> Range("e17") Then End
    Application.EnableEvents = False
    Range("d17") = Range("d17") + Target
    Application.EnableEvents = True
 End Sub


 > If Range(Target.Address) <> Range("a1") Then End
 これはおかしいでしょう...

 これだと

 どのセルを変更しても A1の値と同じだったら実行してしまいますよね。

 Private Sub Worksheet_Change(ByVal Target As Range)
 Dim r As Range
 If Intersect(Target, Range("e17:e24")) Is Nothing Then Exit Sub
 Application.EnableEvents = False
 For Each r In Intersect(Target, Range("e17:e24"))
     r.Offset(, -1).Value = r.Offset(, -1).Value + r.Value
 Next
 Application.EnableEvents = True
 End Sub
 (seiya)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.