excel中如何使录入的数据自动累加在上一次的结果上面

如题
举例: A2单元格原始值是1000,在A1单元格中输入200,A2单元格中的值就是A2的原始值1000+A1中输入的200,就是1200.下一次在A1单元格重新输入150,那A2的数据就是1200+A1中输入的150,就是1350.下次重新输入时就得到新的结果!一直这样自动更新!棘手!高分求助。。

注: 可以用单元格公式,也可以用宏

创建一个宏:
  选择Excel选单下的“工具→宏→录制新宏”选项;
  宏名为:MyMicro;
  快捷键为: Ctrl+Shift+J(只要不和 Excel本身的快捷键重名就行);
  保存在: 个人宏工作簿(可以在所有 Excel 工作簿中使用)。
  2.用鼠标选择“停止录入”工具栏中的方块,停止录入宏。
  3.选择Excel选单下的“工具→宏→Visual Basic 编辑器”选项。
  4.在“Visual Basic 编辑器”左上角的VBAProject中用鼠标双击VBAProject (Personal.xls) 打开“模块→Module1”。
  注意:你的模块可能不是Module1 ,也许是Module2、Module3。
  5.在右侧的代码窗口中将Personal.xls-Module1(Code)中的代码更改为:
  Sub MyMicro( )
  OldValue = Val (ActiveCell.Value )
  InputValue = InputBox ( “输入数值,负数前输入减号”,“小小计算器”)
  ActiveCell.Value = Val (OldValue + InputValue)
  End Sub
  6.关闭Visual Basic编辑器。
  编辑完毕,你可以试试刚刚编辑的宏,按下Shift+Ctrl+J键,输入数值并按下“确定”键。
  这段代码只提供了加减运算,我是从网上淘来的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-18

步骤如下:

1、按ALT+F11

2、按F7,粘贴如下代码,并调整为如下格式

3、按F5运行。

4、代码:

Private Sub Worksheet_Change(ByVal Target As Range)
a = Cells(2, 1).Value
If Target = Cells(1, 1) Then
Cells(2, 1) = a + Target.Value
End If
End Sub

本回答被网友采纳
第2个回答  2013-03-11
从技术上可行,但本人不主张这样做,因为这个过程不可逆转,一旦输错一次,其结果就是个错误结果,你不敢保证你绝对不会输错,若你非要这样,就工具→选项→重新计算→勾选迭代计算→最多迭代次数改为1→确定→在b1输入公式:=if(cell("address")="$a$1“,a2+a1,a2),回车追问

在2007中哪里选择呢?

追答

抱歉07不了解,你网上找下吧,迭代计算功能应该有的,应该在a2输入公式:=if(cell("address")="$a$1“,a2+a1,a2)

第3个回答  2013-03-11
ALT+F11——F7——粘贴如下代码,并调整为如下格式——F5运行。
Private Sub Worksheet_Change(ByVal Target As Range)
a = Cells(2, 1).Value
If Target = Cells(1, 1) Then
Cells(2, 1) = a + Target.Value
End If
End Sub本回答被提问者和网友采纳
相似回答