プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。

説明が下手で申し訳ないのですが、エクセルで例えば「A1」・「B1」に数字を上書き入力し「A1」の累計を「A2」に「B1」の累計を「B2」に表示したいのですが、検索しても1つのセルの累計は見つかるのですが、複数の物は見つからずいろいろ試しても上手くいかない為、質問をさせて頂きました。
よろしくお願いします。

質問者からの補足コメント

  • goold-rnanさんのおっしゃる通りです。
    >A1に1と入力してEnter
    このときA2には1が出力
    その後A1に2と上書きしてEnter
    このときA2 には3と出力

    見つけたものです。

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then End
    If Range(Target.Address) <> Range("B2") Then End
    Application.EnableEvents = False
    Range("C2") = Range("C2") + Target
    Application.EnableEvents = True
    End Sub

    http://www.excel.studio-kazu.jp/kw/2004102316562 …」より引用。

      補足日時:2016/08/16 02:02

A 回答 (3件)

参考にしたコードは、マクロができる人が書いたものとは思えません。


間違いがいくつかあります。

そして回答者側もたいして変わらないようです。

>「A1」・「B1」に数字を上書き入力し「A1」の累計を「A2」に「B1」の累計を「B2」に表示したいのです

だけで十分です。

その掲示板には、入力間違いの修正の話が出ていますが、例えば、2と入力して間違いなら、
マイナス符号をつけて、-2 と入力して、削除すればよいです。

If Intersect(Target, Range("A1:B1")) Is Nothing Then Exit Sub
ここを書き換えれば、一行目のセルは全部同様に使えます。

'シートモジュール

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
If Intersect(Target, Range("A1:B1")) Is Nothing Then Exit Sub
 Application.EnableEvents = False
 Target.Offset(1).Value = Target.Value + Target.Offset(1).Value
 Application.EnableEvents = True
End Sub

'-------
PS マクロを使わなくてもできます。

ファイル 

オプション 数式-反復計算を行う
-最大反復回数 「1」

例えば、

C2 のセルに、=C1 + C2
とすれば、同じようにできます。
    • good
    • 1
この回答へのお礼

ありがとうございます。

教えていただいた方法で無事問題が解決致しました。

お礼日時:2016/08/16 04:48

A1に1と入力してEnter


このときA2には1が出力
その後A1に2と上書きしてEnter
このときA2 には3と出力
ということですか?

>検索しても1つのセルの累計は見つかるのですが
ちょっとそれを教えてください。
ひょっとしたら複数の累計の方法が見つかるかも知れません
    • good
    • 1
この回答へのお礼

回答ありがとうござます。

下手な説明を上手くまとめて頂きありがとうございます。
無事解決致しました。

お礼日時:2016/08/16 04:49

》 「A1」の累計を「A2」に「B1」の累計を「B2」に


この場合の「累計」ってどういうことですか?
「計」というからには合計するセルが複数あるってことじゃないの?
「A1」だけの累計は「A1」でしょ?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

上手く説明できず申訳ありません。
無事解決致しました。

お礼日時:2016/08/16 04:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!