
No.8ベストアンサー
- 回答日時:
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列に入力時間を記録するようにしました。
No.9
- 回答日時:
セルの今の値を吸い上げて保管しておくところが要ります。
表計算では、上書きするので、前の状態(値)を捕まえられません。
また値をセルに入れると、式は壊れます。式を入れると、計算された値になってしまいます。
エクセルは入力を別別セルに保存し、複数セルを加算することで累計を求めます。
そこが電卓と違う良さなのです。
VBAでは変数というものが使えるのでそれができます。
素人の思いつく発想を実現するには、より難しい仕掛け(VBAのイベントの考え)が必要な良い例です。エクセルになれてくると、その質問の実現が難しいかどうか直感でわかるようになります。
VBAですが1つのテキストボックスでもシートに貼り付けて、数字入力ごとに加算し、累計を1つのセルに出すことは簡単です。
ご回答ありがとうございます。
私にとって、ちょっと面倒なところに首を突っ込んでしまったようです。
VBAとは何かというようなことがわかったら、
またこの場で質問させていただきます。
失礼しました。
No.7
- 回答日時:
これをちょいとお試しください。
とりあえず該当シートの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に数字を入れてみてください。(文字はダメですよ!)
やってみました。
すごい、驚きました。こんなことができるんですね。
なのですが、いかんせんお答えの内容の意味がぜんぜんまったく理解できないので、このあとどうすることもできません(他のセルにもやりたい、貼り付けた内容のクリアはどうやってやるのか、入力した数字の履歴を知りたい、とか)。
出直したほうがよさそうな気がしてきました。
ご回答ありがとうございました。
No.5
- 回答日時:
ファンクションキー「F2」で再編集モードになります。
文字・数字を追記する事が可能です。
また、セル内改行「alt+enter」なども有ります。
質問内容があまりよく分からなかったので、、、、
ご回答ありがとうございました。
ひとつのセルで電卓のようにどんどん入力した数字が加算されていくようなやり方があればよいな、と思ったのです。
No.3
- 回答日時:
質問の意味を履き違えていたらすみません。
セルを選択した後、そのセルに書かずに、上にある数式バーに数式として入力していけば、数式バーにはそこに入力された数字が履歴のように残り、セル自体には合計金額を表示させれます。
例えば、最初に入れたい数字が500ならば、数式バーに =500 と入力します。
そうすれば、セルには500が表示されますよね。
次に、そこに350を加算したければ、そのセルを選んで、さっきの数式バーの=500の後に続けて +350 を入力します。
このように =500+350 。
そうすると、当然数式バーには過去の加算の内容が、
セルにはその合計値(今回で言うと850)が表示されます。
一度試してみてください!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
EXCEL:同じセルへどんどん足していく方法
Excel(エクセル)
-
エクセルで、同一セル内に自動的に足し算をすることはできますか?
その他(Microsoft Office)
-
エクセルで表示されている数字に入力数字を足す方法
Excel(エクセル)
-
-
4
エクセルで、1つのセルで上書き足し算できますか?
Excel(エクセル)
-
5
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
6
エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間
Visual Basic(VBA)
-
7
「マクロ」の足し算の式を教えてくださいm()m
Excel(エクセル)
-
8
エクセルで、同じセルに数値を上書きで入力して、そのセルに累計が出るようにしたい
Excel(エクセル)
-
9
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルに写真が貼れない(フ...
-
Office2021のエクセルで米国株...
-
エクセルのVBAで集計をしたい
-
【マクロ】【相談】Excelブック...
-
vba テキストボックスとリフト...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
【画像あり】オートフィルター...
-
【マクロ】【配列】3つのシー...
-
エクセルのライセンスが分かり...
-
【マクロ】元データと同じお客...
-
【関数】3つのセルの中で最新...
-
勤怠表について ABS、TEXT関数...
-
【マクロ】【画像あり】❶ブック...
-
【Officer360?Officer365?の...
-
セルにぴったし写真を挿入
-
LibreOffice Clalc(またはエク...
-
【マクロ】excelファイルを開く...
-
エクセルシートの見出しの文字...
-
【関数】=EXACT(a1,b1) a1とb1...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
エクセルの関数について
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
エクセルの複雑なシフト表から...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
【マクロ】左のブックと右のブ...
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】別ファイルへマクロ...
-
【関数】同じ関数なのに、エラ...
-
Amazonでマイクロソフトオフィ...
-
ページが変なふうに切れる
おすすめ情報