我有此代码将一个单元格的值添加到另一个单元格的现有值中:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not (Intersect(Target, Range("E3")) Is Nothing) Then
Range("F3").Value = Range("E3").Value + Range("F3").Value
End If
End Sub
但我的问题是它只在一个单元格中起作用,而不是在一行中起作用,也就是说,例如,我想将B1
值添加到A1
现有值中。它工作正常,但我有 24 行,也就是说B2
它A2
不起作用我不想将它们合并在一起,而是分开添加,然后B2
以A2
这种B3
方式A3
重复 24 次。
请帮忙,很紧急。
答案1
一定要用 vba 吗?
如果您选择 B 列复制(ctrl+c),然后选择 A 列并转到选择性粘贴,您可以使用添加运算符来执行您想要的操作。
否则,每次您更改 B 列中的单元格时,此功能都会起作用,它会将 A 列更新为 A 列 + B 列(对于特定行)。
戈登
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim int_range As Range
Set int_range = Intersect(Target, Range("B:B"))
If Not (int_range Is Nothing) Then
For Each c In int_range
c.Offset(0, -1).Value = c.Offset(0, -1).Value + c.Value
Next
End If
End Sub