excel循环累加使用VBA事件和代码自动完成累加是比较可行的方法。
我们以一个具体的例子来说明使用VBA实现excel循环累加的使用。
我们在A列输入具体的数据,然后在B列实现循环累加。
比如我们在A1输入12,B1显示12,A1再输入13,B1就循环累加,值为:12+13=25。
再次在A1输入10,B1这次的循环累加值为:10+25=35。其余单元格以此类推,只要在A列输入数字,B列就自动循环累加。
实现的方法是:我们在需要进行excel循环累加的工作表标签,右键,选择“查看代码”,打开VBE编辑器,复制下面的代码,并关闭VBE编辑器,回到工作表中A列开始输入数据,excel会在B列自动循环累加数值。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then Range("B" & Target.Row) = Val(Range("B" & Target.Row)) + Val(Target)
End Sub
如果是同一单元格循环累加,可以使用下面的代码,比如A1输入2,再输入5,结果为2+5=7,再输入10,结果为7+10=17。
Private Sub Worksheet_Change(ByVal Target As Range)
Static temp As Double
If Target.Address = "$A$1" Then
Application.EnableEvents = False
[a1] = Val(temp) + Val([a1])
Application.EnableEvents = True
End If
temp = [a1].Value
End Sub