Excel vba 代码用于向工作表的现有单元格添加值

Excel vba 代码用于向工作表的现有单元格添加值

我有此代码将一个单元格的值添加到另一个单元格的现有值中:

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 行,也就是说B2A2不起作用我不想将它们合并在一起,而是分开添加,然后B2A2这种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

相关内容