用VBA实现B1=A1+B1

做会计的人让我帮忙解决一个问题:

假如现在B1单元格的数是100,我在A1里输入50,回车后,B1的数值就累加到150了,下次我再到A1里输入20,B1单元格里数值又累加到170了

看似简单的问题,其实excel的基本功能是不能实现,需要编程。直接给出答案:

1. 点击”文件->选项->保存”,选择”Excel启用宏的工作薄(*.xlsm)”

2. Alt+F11,打开”sheet x”.

3.写入代码:

  

Private Sub Worksheet_Change(ByVal Target As Range)
For i = 1 To 50
If Target.Address = Cells(i, 1).Address Then
Range(Cells(i, 2).Address) = Range(Cells(i, 2).Address) + Target.Value
End If
Next
End Sub

以上对问题作了一点扩展,即可实现从1到50行的同样的功能。

提出问题的人最后没有说声谢谢,还说”你应该感谢我”让你多学了一门语言,