アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。
エクセルのセルにデータ(たとえば数字)を入力したあと、もう一回同じセルに数字を入力すると上書されます。
そこのところでお尋ねしたいのですが、上書しないで新しく入力するたびにそれまで入力済みの数字に加算合計を表示するようにしたいのですが、何か方法があるのでしょうか。
よろしくお願いします。

A 回答 (9件)

No7のmerlionXXです。


VBAを多少かじるとこれくらいはできるようになります。興味があったら勉強してみてください。

> 他のセルにもやりたい、貼り付けた内容のクリアはどうやってやるのか、入力した数字の履歴を知りたい

If Target.Address <> "$A$1" Then Exit Sub の$A$1を変えることによってほかのセルにも設定できます。

クリアや入力履歴についても対応しました。
下記に書き換えてください。

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
If Target.Value = "" Then Exit Sub
x = Target.Value
With Application
.ScreenUpdating = False
.EnableEvents = False
.Undo
y = Target.Value
Target.Value = x + y
.EnableEvents = True
.ScreenUpdating = True
End With
With Cells(ActiveSheet.Rows.Count, "C").End(xlUp)
.Offset(1, 0).Value = x
.Offset(1, 1).Value = Time()
End With
End Sub

A1をクリアできるようにしました。
C列に入力履歴、D列に入力時間を記録するようにしました。
    • good
    • 4
この回答へのお礼

やってみました。おおせのとおり表示されました。
感心するしかありません。
ありがとうございました。

お礼日時:2006/05/17 14:13

セルの今の値を吸い上げて保管しておくところが要ります。


表計算では、上書きするので、前の状態(値)を捕まえられません。
また値をセルに入れると、式は壊れます。式を入れると、計算された値になってしまいます。
エクセルは入力を別別セルに保存し、複数セルを加算することで累計を求めます。
そこが電卓と違う良さなのです。
VBAでは変数というものが使えるのでそれができます。
素人の思いつく発想を実現するには、より難しい仕掛け(VBAのイベントの考え)が必要な良い例です。エクセルになれてくると、その質問の実現が難しいかどうか直感でわかるようになります。
VBAですが1つのテキストボックスでもシートに貼り付けて、数字入力ごとに加算し、累計を1つのセルに出すことは簡単です。
    • good
    • 7
この回答へのお礼

ご回答ありがとうございます。
私にとって、ちょっと面倒なところに首を突っ込んでしまったようです。
VBAとは何かというようなことがわかったら、
またこの場で質問させていただきます。
失礼しました。

お礼日時:2006/05/17 14:17

これをちょいとお試しください。


とりあえず該当シートのA1セルだけはご希望の動きをすると思います。

1.シートのタブを右クリックし、コードの表示を選ぶ。
2.出てきたVisualBasicEditor右の白い部分に下記をコピーして貼り付けます。

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
x = Target.Value
With Application
.ScreenUpdating = False
.EnableEvents = False
.Undo
y = Target.Value
Target.Value = x + y
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub

3.AltキーとF11キーを同時に押してワークシートへもどります。

これでA1に数字を入れてみてください。(文字はダメですよ!)
    • good
    • 5
この回答へのお礼

やってみました。
すごい、驚きました。こんなことができるんですね。
なのですが、いかんせんお答えの内容の意味がぜんぜんまったく理解できないので、このあとどうすることもできません(他のセルにもやりたい、貼り付けた内容のクリアはどうやってやるのか、入力した数字の履歴を知りたい、とか)。
出直したほうがよさそうな気がしてきました。
ご回答ありがとうございました。

お礼日時:2006/05/16 15:54

=数字1+数字2+~+数字n


とすれば合計は出来ますが...
    • good
    • 0
この回答へのお礼

セルに数字を電卓のように(+キーは押さないで)パタパタ打ち込んで合計は出ないものかしらと思ったのです。
ご回答ありがとうございます。

お礼日時:2006/05/16 15:41

ファンクションキー「F2」で再編集モードになります。


文字・数字を追記する事が可能です。
また、セル内改行「alt+enter」なども有ります。
質問内容があまりよく分からなかったので、、、、
    • good
    • 1
この回答へのお礼

ご回答ありがとうございました。
ひとつのセルで電卓のようにどんどん入力した数字が加算されていくようなやり方があればよいな、と思ったのです。

お礼日時:2006/05/16 12:47

エクセルは表計算方式なので、同一セルに入力し、しかも同じセルに加算していく事は出来ません。


どうしてもの場合は、VBAを使って実現する方法が有りますが、間違った数字を入れてしまった場合の修正が難しくなると思います。
まあ、入力セルと、表示セルは別にする方法をお勧めします。
    • good
    • 1
この回答へのお礼

なるほど、表計算ソフトというのは、そのようなものなのですね。
ありがとうございました。

お礼日時:2006/05/16 12:45

質問の意味を履き違えていたらすみません。



セルを選択した後、そのセルに書かずに、上にある数式バーに数式として入力していけば、数式バーにはそこに入力された数字が履歴のように残り、セル自体には合計金額を表示させれます。

例えば、最初に入れたい数字が500ならば、数式バーに =500 と入力します。
そうすれば、セルには500が表示されますよね。

次に、そこに350を加算したければ、そのセルを選んで、さっきの数式バーの=500の後に続けて +350 を入力します。
このように =500+350 。
そうすると、当然数式バーには過去の加算の内容が、
セルにはその合計値(今回で言うと850)が表示されます。

一度試してみてください!
    • good
    • 0
この回答へのお礼

ありがとうございます。
やってみたところ、おっしゃるとおりでした。

お礼日時:2006/05/16 12:43

電卓みたいなイメージでしょうか?



そうだと仮定するならば、
入力用のフォーマットを別途作って、そこに入力後、内部的にマクロを動かして加算して表示する事は難しいのでしょうか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
そうです。電卓のように出来なものかと思ったのです。
「マクロ」というのは、どうも私の手におえないような気がしており、尻込みしてしまいます。

お礼日時:2006/05/16 12:40

別のセルに加算計を出して移動すれば良いと思います。

    • good
    • 0
この回答へのお礼

セルひとつの中で合計していく方法があるかと思ったものですから。
ご回答ありがとうございます。

お礼日時:2006/05/16 12:37

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

このQ&Aを見た人はこんなQ&Aも見ています