[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルに順次数字を入れて足し算させる方法』(ネオ)
[セルに順次数字を入れて足し算させる方法を教えてください。]
下記リンクのようなことでしょうか。 [[20020530145644]] 『電卓みたいな計算できますか?』(事務員です) 同じセルへ次々数値を入力していくということだと思いますが、 私はエクセルでは現実的ではないと思っています。 入力用のセルを確保しておいて合計を表示したいところへ SUM関数で合計すればよいのでは? 画面上不要な数字の羅列があるのはみっともないかと思われてるのかもしれませんが、 エクセルには行、列の非表示機能や印刷範囲を限定する機能があるので、 実用上は問題がないと思います。 極端な話ですが、65536行×256列×メモリの許す限りのシート数 の入力空間が あるのですからまずはそれを活用すべきです。 (みやほりん)
ramrunさんのを少し借りてやってみました。 本来は、みやほりんさんの仰るとおりですので、以下のものはお遊び程度でお試しください。
シートモジュールに貼り付けてA1セルに入力すると、C1セルに値が出ます。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(0, 0) <> "A1" Then Exit Sub If Not IsNumeric(Target.Value) Then Exit Sub Application.EnableEvents = False With Range("C1") BeforeFormat = .NumberFormat If Target.Value <> "" Then ActiveCell.Offset(-1, 0).Select Else .Value = 0 .NumberFormatLocal = "G/標準" ActiveWorkbook.DeleteNumberFormat NumberFormat:=BeforeFormat Application.EnableEvents = True Exit Sub End If BeforeVal = .Value .Value = .Value + Target.Value MyKeta = Len(Replace(.Value, Fix(.Value), "")) - 1 If MyKeta <= 0 Then MyStr = "#,##0" Else MyStr = "#,##0." & Application.Rept(0, MyKeta) End If MyFormat = BeforeVal & "+『 " & Target.Value & " 』= " .NumberFormatLocal = """" & MyFormat & """" & MyStr & ";" & """" & MyFormat & """" & "-" & MyStr If BeforeFormat <> "General" Then ActiveWorkbook.DeleteNumberFormat NumberFormat:=BeforeFormat End If End With Application.EnableEvents = True End Sub
(川野鮎太郎)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.