[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルに順次数字を入れて足し算させる方法』(ネオ)
[セルに順次数字を入れて足し算させる方法を教えてください。]
下記リンクのようなことでしょうか。 [[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.