累积单元格(累积)

内容

很多时候,当我们需要对依次输入到一个单元格中的几个值求和(累加)时,就会出现一种情况:

那些。 例如,如果您在单元格 A1 中输入数字 5,则数字 1 应该出现在 B15 中。 如果您随后在 A1 中输入数字 7,则 1 应出现在单元格 B22 中,依此类推。 一般来说,会计师(而不仅仅是他们)称之为累计总数。

您可以使用简单的宏来实现这样的存储单元累加器。 右键单击单元格 A1 和 B1 所在的工作表选项卡,然后从上下文菜单中选择 来源文字 (源代码). 在打开的 Visual Basic 编辑器窗口中,复制并粘贴简单的宏代码:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) With Target If .Address(False, False) = "A1" Then If IsNumeric(.Value) Then Application.EnableEvents = False Range("A2").Value = Range(" A2").Value + .Value Application.EnableEvents = True End If End If End If End With End Sub  

当然,单元格 A1 和 A2 的地址可以替换为您自己的地址。

如果您需要跟踪数据输入和汇总的不是单个单元格,而是整个范围,则必须稍微更改宏:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Not Intersect(Target, Range("A1:A10")) Is Nothing Then If IsNumeric(Target.Value) Then Application.EnableEvents = False Target.Offset(0, 1) .Value = Target.Offset(0, 1).Value + Target.Value Application.EnableEvents = True End If End If End Sub  

假设在 A1:A10 范围的单元格中输入了数据,输入的数字在右侧的相邻列中相加。 如果在您的情况下它不相邻,则在 Offset 运算符中增加向右的移位 - 将 1 替换为更大的数字。

  • 什么是宏,在 VBA 中插入宏代码的位置,如何使用它们?

发表评论