EXCEL一个单元格内计算问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 13:20:51
我的表格经常要做修改,不需记录要过程只要结果,所以我要一个单元格内做计算,比如说第一次记录50,下次又多20,可不可以在表格内+20,然后自动在原来的地方显示70.

原来单元格输入 =50
要加的话就改成 =50+20
这很简单啊,也不知道是不是这个意思

如果你的累加数和输入不在同一个单元格,倒是可以:
菜单:工具-选项-自动重算-启用迭代计算 迭代次数设为1
在B1上设置数据有效性为数字,防止因误输入其他内容导致计算不成功而丢失原有累积数据。
然后在A1中输入公式:

=IF(CELL("address")="$B$1",A1+B1,A1)

在B1中输入数据,切记按Enter确认,A1自动累加

你要的结果是用一个单元格单输入你要增加的数如20,当你输入20后回车,其它地方的数值如50自动变成70,并且你输入的20可以自动删除,这样可以吗?用VBA才可以实现,具体方法如下:
打开你的工作簿,按alt+f11调出VBA,在左边工程管理器中双击你要加入功能的表如sheet1(记住是双击),将下面的代码复制到VBA右边“通用”、“声明”下面的空白大框里,注意代码中有3行要改
1、If .Address = "$B$2" Then($B$2就是B2单元格,按格式改为你要输入的单元格,如$F$1,不要删除$符号;
2、[A2] = [A2] + [B2] (A2是你原来那个值的单元格,B2是你输入的单元格,直接改为你想要的单元格就可以,如A1、F1等)
3、Range("B2").ClearContents (这里的B2也按第2个说明改一下)

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
For Each c In Target.Cells
With c
If .Address = "$B$2" Then
[A2] = [A2] + [B2]
Range("B2").ClearContents
End If
End With