运行各种参数的总计

时间:2016-12-12 09:48:30

标签: excel

我希望在每日报告类型格式中继续运行某些参数的总计。例如,在单元格 E9 中,我有一台机器的运行时间,在单元格中 F9 我想让运行时间“到目前为止”。 Gary的学生(这里的成员)发布了以下解决方案:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Range("E9"), Target) Is Nothing Then Exit Sub
    [F9] = [F9] + [E9]
End Sub

这很好但我在同一张纸上有几个其他参数我想做同样的事情,例如在 E10 我想记录机器已经使用了多少气体和< strong> F10 我想要多少气体'到目前为止'。当我复制上面的代码并粘贴它时,单元格值已更改,只有第一条指令有效。

1 个答案:

答案 0 :(得分:0)

Target是更改的单元格,Target(, 2)是其右侧的单元格:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Range("E9:E12"), Target) Is Nothing Then Exit Sub  ' change E9:E12 to the range of cells that are changed
    Target(, 2).Value2 = Target(, 2).Value2 + Target.Value2         ' the .Value2 parts are optional
End Sub

如果一次更改多个单元格,上述操作将导致错误(例如复制粘贴或Ctrl + Enter)。它可以通过循环遍历Target范围:

中的所有单元来修复
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Range("E9:E12"), Target) Is Nothing Then Exit Sub
    Dim cell As Range
    For Each cell In Target.Cells
        cell(, 2).Value2 = cell(, 2).Value2 + cell.Value2
    Next
End Sub