Excel中实现当手动输入A列和B列的值时,C列自动计算A列和B列的和

北风几吹夏 / 2024-10-13 / 原文

要在Excel中实现当手动输入A列和B列的值时,C列自动计算A列和B列的和,可以使用Excel的“公式”和“事件”来完成。

由于Excel的普通单元格不能直接进行“自动执行计算”,需要借助VBA(Visual Basic for Applications)编写一个自动触发的脚本。

当A列或B列的值发生变化时,自动计算C列的值。具体步骤如下:

步骤1:打开VBA编辑器

  1. 在Excel中按 Alt + F11 打开VBA编辑器。
  2. 在左侧的“工程资源管理器”窗口中,双击正在操作的工作表名称,比如 Sheet1

步骤2:编写VBA代码

  1. 在打开的代码窗口中,输入以下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range
    Set rng = Intersect(Target, Me.Range("A:A,B:B")) ' 监控A列和B列

    If Not rng Is Nothing Then
        Application.EnableEvents = False ' 防止递归调用
        Dim row As Range
        For Each row In rng.Rows
            Me.Cells(row.Row, 3).Value = Me.Cells(row.Row, 1).Value + Me.Cells(row.Row, 2).Value ' 计算C列为A列+B列
        Next row
        Application.EnableEvents = True ' 恢复事件
    End If
End Sub

步骤3:保存并关闭VBA编辑器

  1. Ctrl + S 保存代码。
  2. 关闭VBA编辑器并回到Excel。

步骤4:测试

  1. 回到工作表,手动输入或修改A列和B列的值。
  2. 当在A列或B列输入值后,C列会自动计算A列和B列的和。

通过这个VBA代码,每次手动修改A列或B列的值时,C列都会自动更新。