Excel VBA汇总动态范围

时间:2019-08-08 07:08:32

标签: excel vba

我正在尝试创建一个Excel宏,并使用一定的动态范围来计算“标记”列中的值之和。

如果主题标记总数包含0,则应该给我在主题中获得的标记总数。

enter image description here

这是我尝试过但失败的代码:

Option Explicit

Sub test()

    Dim LastRow As Long, i As Long, StartPoint As Long, EndPoint As Long

    StartPoint = 2

    With ThisWorkbook.Worksheets("Sheet1")

        LastRow = .Cells(.Rows.Count, "J").End(xlUp).Row

        For i = 2 To LastRow

            If .Range("H" & i).Value = "??????? ?????" Then
                EndPoint = i - 1

                .Range("J" & i).Value = Application.Sum(.Range(.Cells(StartPoint, 2), .Cells(EndPoint, 2)))
                StartPoint = i + 1

        Application.DisplayAlerts = True

            End If

        Next i

    End With

End Sub

1 个答案:

答案 0 :(得分:0)

您可以使用Sumif函数或Sumproduct函数。这里有几个例子可以帮助您入门。

=SUMIF(A1:A10,"Ford",C1:C10)

=SUMPRODUCT((A1:A10="Ford")*(B1:B10="June"))

有关详细信息,请参见下面的链接。

http://www.xldynamic.com/source/xld.SUMPRODUCT.html