在EXCEL中,如何使前一个格的数值减去后一个格的数值,第三个单元格的数值自动累加(或增减)?

注:如上面的图片所描述的,也就是如何使A2第一次输入0时、B2第一次输入0时,C2为0;第二次A2输入100时、B2输入80时,C2累加项自动更新为20;注意第三次A2输入60、B2输入30时,C2累加项自动更新为50. A2、B2的数值为变量,C2为自动更新的累加项。

'在工作表标签处点鼠标右键——查看代码,
'把下面所有代码复制粘贴进去,OK
代码如下:

Public 累加值 '定义累加值为全局变量
Private Sub Worksheet_SelectionChange(ByVal Target As Range) '单元格焦点改变事件
On Error Resume Next
If Target.Row = 1 Then Exit Sub '焦点在第一行时,结束事件
If Target.Column > 2 Then Exit Sub '如果不是A\B列,结束事件
累加值 = Cells(Target.Row, 3).Value '累加值=C列单元格的值
End Sub
Private Sub Worksheet_Change(ByVal Target As Range) '单元格内容改变事件
On Error Resume Next
If Target.Row = 1 Then Exit Sub '焦点在第一行时,结束事件
If Target.Column = 1 Then Cells(Target.Row, 3) = 累加值 + Target '当A列的内容改变时,C列=累加值+A列内容
If Target.Column = 2 Then Cells(Target.Row, 3) = 累加值 - Target '当B列的内容改变时,C列=累加值-A列内容
End Sub '结束事件追问

你好!还向你请教一个问题:该公式能否实现假设我在表sheet2中的D、E项中填写数据(或使用函数公式自动生成的),表sheet1中的A、B项的数据来自sheet2中D、E项的数据,要求,此时表sheet1中的C项而且还能够自动累加。可是表sheet2中D、E项的数据又均为从别的工作表中自动生成的,也就是能否把这些数据连接起来,还要达到自动累加的效果,就是在别的一个地方填写数据,让这些数据自动生成到各个位置。谢谢啦!

追答

sorry,目前EXCEL没有公式重算事件功能,所以还不行,不知你表格的实际情况是怎样的,可以Q我510103221,有空我们一起探讨下

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-14
工具-选项-重新计算,选择“手动重算”,勾上“迭代计算”,“最多迭代次数”改为1,然后在C1输入公式=A1-B1+C1。
以后,每当在A1和B1输入数据后,按F9功能键。
第2个回答  2012-04-14
我也想知道答案,我会关注你这个问题
相似回答