- ベストアンサー
エクセルで合計を出したいとき
過去ログから探し出せなかったので こちらで質問させていただきました。 エクセルで合計を出すときなのですが・・・ A1に 1 という数字が表示されています。 その A1 のセルのところに 2 と入れたら 3 と表示されるようにしたいのです。 単純に =SUM(A1+A1) と計算式を入れてみたのですが できませんでした。 表示されているセルのところに新しく数字を入力すると 自動的に合計になる方法を教えてください。 よろしくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
Dim A1 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then Application.EnableEvents = False Target.Value = A1 + Target.Value Application.EnableEvents = True End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$A$1" Then A1 = Target.Value End If End Sub
その他の回答 (5)
- merlionXX
- ベストアンサー率48% (1930/4007)
シート名のあるタブを右クリックして、「コードの表示」 以下をコピー&ペースト Private Sub Worksheet_Change(ByVal Target As Range) With Target Dim Mysum As Long If .Row = 1 And .Column = 1 Then Application.EnableEvents = False Mysum = Cells(1, 256).Value Cells(1, 1).Value = Mysum + Cells(1, 1).Value Application.EnableEvents = True End If End With End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) With Target If .Row = 1 And .Column = 1 Then Cells(1, 256) = Target.Value End With End Sub これでOK
わたしも#3さんと同じ考えでして やってみましたが、 実行すると、結局セルA1が変更するので、ループ状態になってしまいオーバーフロしてしまいました。 確か、回避策があったような記憶がありますが、記憶違いかもしれません。 一筋縄ではいかないようです。
- 134
- ベストアンサー率27% (162/600)
「関数」では、セルの値を入れ替える前後の内容を反映させることは、無理だと思います。 マクロのイベントプロシージャーを使うことで、対応できるかもしれません。 Private Sub Worksheet_Change(ByVal Target As Range) With Target Dim Mysum As Long If .Row = 1 And .column = 1 Then Mysum = Cells(1,1).Value Cells(1,1).Value = Mysum +Cells(1,1).Value End If End With End Sub のような感じでしょうか。
- jyamamoto
- ベストアンサー率39% (1723/4318)
関数では無理だと思います。 マクロを使えば、可能でしょう。
- Kikis
- ベストアンサー率44% (125/282)
こんにちは。2点確認させてください。 ・A1に1が入力されている時、同じA1に上書きで2を入力するのですか? →データが書き変わってしまうので、1はなくなってしまいます。 「1」を保存するために、他のセルに入力するのではだめなのですか? ・「3」はA1以外のセルに表示させるのですよね?
補足
Kikisさん 早速お返事をいただき ありがとうございました。 1つ目のご質問ですが・・・ A1に「2」を上書きして 「1」が「3」になるような方法があれば。と思いました。 2つ目のご質問ですが・・・ いえ。「3」はA1に表示させたいのです。 説明が下手ですみません。おわかりいただけますでしょうか。
お礼
たくさん ご回答をいただきありがとうございます。 実家に戻っていてお礼が遅くなり申し訳ございませんでした。 みなさまのご回答を参考にBLUEPIXYさまの ご回答で、解決することができました。 みなさまにポイントを差し上げられないのが 心苦しいのですが、本当にありがとうございました。