VBA SUMvariables范围

在这里输入图像说明

如果满足某些条件,我想要一个代码将variables行加起来。 例如,如果A12是数字并且B12是空的,则在单元格C12中插入一个公式来求和C3:C11。 然后在C22和C30执行相同的操作。 我有的问题是不知道如何定义起始行。

Sub Test() Dim y As Variant Dim r As Variant Dim StartRow As Variant LastRow = Range("C" & Rows.Count).End(xlUp).Row For y = 3 To 500 For r = 1 To LastRow If InStr(1, Cells(r, 1), "Amount") Then StartRow = r If IsNumeric(Cells(y, 1)) And IsEmpty(Cells(y, 2)) Then Cells(y, 3).Formula = "=SUM(C" & StartRow + 1 & ":C" & y - 1 & ")" End If End If Next r Next y End Sub 

 Sub Test() Dim y As Variant Dim firstRow As Variant Dim lastRow As Variant lastRow = Range("C" & Rows.Count).End(xlUp).Row firstRow = Cells(lastRow, 3).End(xlUp).Row If IsNumeric(Cells(lastRow + 1, 1)) And IsEmpty(Cells(lastRow + 1, 2)) Then Cells(lastRow + 1, 3).Formula = "=SUM(C" & firstRow & ":C" & lastRow & ")" End If For y = firstRow To 3 Step -1 lastRow = Cells(y, 3).End(xlUp).Row firstRow = Cells(lastRow, 3).End(xlUp).Row If firstRow < 3 Then firstRow = 3 If IsNumeric(Cells(lastRow + 1, 1)) And IsEmpty(Cells(lastRow + 1, 2)) Then Cells(lastRow + 1, 3).Formula = "=SUM(C" & firstRow & ":C" & lastRow & ")" End If y = firstRow If firstRow = 3 Then Exit Sub Next y End Sub