你好,请教有关EXCEL中迭代计算的问题,可用公式或VBA解决。

你有个前提就是清除了A1的数据,B1清零,那又怎么可以做到返回上一回的数据呢?追问例如:A1输入2,B1=2A1输入3,B1=5A1输入5,B1=10把A1的5,删除后,... 你有个前提就是清除了A1的数据,B1清零,那又怎么可以做到返回上一回的数据呢?追问例如: A1 输入 2, B1=2A1输入3, B1=5A1输入5, B1=10把 A1的5,删除后,B1=5.这种效果。回答用VBA可以做到,就是删除就减去,输入就加上,对吧?Dim iPrivate Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then If Target.Value = "" Then Range("B1") = Range("B1") - i Else Range("B1") = Range("B1") + Target.Value End If End IfEnd SubPrivate Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$A$1" Then i = Target.Value End IfEnd Sub提问者评价按照你说的,真的成功了,好开心,谢谢你!我想要这样的:你有个前提就是清除了A1的数据,B1清零,那又怎么可以做到返回上一回的数据呢?追问例如: A1 输入 2, B1=2A1输入3, B1=5A1输入5, B1=10把 A1的5,删除后,B1=5. A2 输入 2, B2=2A2输入3, B2=5A2输入5, B2=10A3 输入 2, B3=2A3输入3, B3=5A3输入5, B3这个怎么用VBA实现啊? 展开
 我来答
姓王的wy451

2014-08-15 · TA获得超过48.3万个赞
知道大有可为答主
回答量:8万
采纳率:78%
帮助的人:8680万
展开全部

代码如下,详见附件。

Dim N
Private Sub Worksheet_Change(ByVal Target As Range)
   On Error Resume Next
   If InStr(Target.Address, "$A$") > 0 Then Target.Offset(, 1) = Target.Offset(, 1) + IIf(IsEmpty(Target), -N, Val(Target))
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If InStr(Target.Address, "$A$") > 0 Then N = Val(Target(1))
End Sub


理顺141
2014-08-15 · TA获得超过336个赞
知道答主
回答量:115
采纳率:0%
帮助的人:122万
展开全部
你有个前提就是清除了A1的数据,B1清零,那又怎么可以做到返回上一回的数据呢?
这样可以么?
追问
不是这个意思我的意思是A列和B列自动对应单元格在A对应的单元格填入数字B列对应单元格叠加。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式