如何在VBA中对variables值进行求和?

我有一张桌子,如下所示。

在列CI中,如果它们具有相同的索引(列B),则希望从列A中求和值。 如果它们具有相同的索引(如D列所示),我想将所有行的总和结果。

不幸的是,具有相同索引值的范围是可变的,我的macros可以用2个索引来求和值。 任何人都可以帮忙吗? 谢谢!

在这里输入图像描述

Sub example() Dim ws As Worksheet Dim LastRow As Long Dim n, i As Integer Set ws = ActiveWorkbook.Sheets("Sheet2") ws.Select LastRow = Sheets("Sheet2").Range("A" & Sheets("Sheet2").Rows.Count).End(xlUp).Row Range("C3:C" & LastRow).Select Selection.ClearContents For i = 3 To LastRow If Range("B" & i + 1) - Range("B" & i) = 0 Then Range("C" & i) = Range("A" & i + 1) + Range("A" & i) Else Range("C" & i) = Range("C" & i - 1) End If Next i End Sub 

这里有一个方法:

 Sub example() Dim ws As Worksheet Dim LastRow As Long Set ws = ActiveWorkbook.Sheets("Sheet2") LastRow = ws.Range("A" & ws.Rows.Count).End(xlUp).Row With ws.Range("C3:C" & LastRow) .ClearContents .Value = ws.Evaluate("INDEX(SUMIF(B3:B" & LastRow & ",B3:B" & LastRow & ",A3:A" & LastRow & "),)") End With End Sub