高手请进 excel2003在同一单元格的原值自动加上新值,如原值为5输入新值为10时直接显示15 能不能?急!
作者&投稿:东泡 (若有异议请与网页底部的电邮联系)
这是不可能的,如一定要实现,则必须借助另外一个单元格,并且还要用到循环引用,这是非常危险的
将下列代码加入表单的 VBA 的代码框中即可实现你要求的功能,但请注意万一你录入数据出现错误再想恢复正确数据会很困难的
再有:只有添加了这些代码的表单才能实现 自加 功能
Option Explicit
Dim Mid As Double
Dim intR As Integer
Dim intC As Integer
Dim blnChg As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
blnChg = True
intR = Target.Row
intC = Target.Column
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo abc
If blnChg = True Then
Cells(intR, intC) = Mid + Cells(intR, intC)
blnChg = False
End If
Mid = Target.Value
abc:
blnChg = False
End Sub
如果加10以内的数字能做到,格式——单元格格式——数字,自定义,将G/通用格式改为10即可。输入数超过10就不灵了哦!
如果要实现正常运算,还是用辅助列,譬如要在A列输入数字,在B列计算结果只要在B列输入公式=IF(A1="","",10+A1)就行了。
高手请进 excel2003在同一单元格的原值自动加上新值,如原值为5输入新值为10时直接显示15 能不能?~
将下列代码加入表单的 VBA 的代码框中即可实现你要求的功能,但请注意万一你录入数据出现错误再想恢复正确数据会很困难的
再有:只有添加了这些代码的表单才能实现 自加 功能
Option Explicit
Dim Mid As Double
Dim intR As Integer
Dim intC As Integer
Dim blnChg As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
blnChg = True
intR = Target.Row
intC = Target.Column
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo abc
If blnChg = True Then
Cells(intR, intC) = Mid + Cells(intR, intC)
blnChg = False
End If
Mid = Target.Value
abc:
blnChg = False
End Sub
如果加10以内的数字能做到,格式——单元格格式——数字,自定义,将G/通用格式改为10即可。输入数超过10就不灵了哦!
如果要实现正常运算,还是用辅助列,譬如要在A列输入数字,在B列计算结果只要在B列输入公式=IF(A1="","",10+A1)就行了。
高手请进 excel2003在同一单元格的原值自动加上新值,如原值为5输入新值为10时直接显示15 能不能?~
可以做到,但是恐怕一个步骤不行,要多2个动作方可:
方法1:双击5所在的单元格,在单元格里输入=5+10,自动就变成15;
方法2:在一个空白单元格中输入10,然后复制它,再选中5所在的单元格,单击右键,选中“选择性粘帖”,在运算中选中“加”,就变成15了。
对了,别忘记及时删除刚写10单元格的内容哦,以免影响表格其他数据。
回答完毕,希望能有帮助。如果愿意,尽量赏点分吧,谢谢。
你这么做容易出问题,比如你输入5,下次输入10应该是15,但是也许你输入11变成16,你也不知道是不是错了,或者错在哪里。
或许你可以考虑下求和公式?一行输过去。最后一行设个求和公式,让他自动生成总数。