如何在excelvba中更改每行的条件和求和范围来编写sumif



我是VBA的新手,我正试图在D列的每一行中编写sumif函数,但会更改每一行的条件和和列范围,直到条件列的最后一个值。

例如:从第4行开始,第一个和&标准范围将是4:4,第二个标准范围将为4:5,第三个标准范围为4:6,等等。

我希望答案看起来像下面的例子,但对于A列中带有"x"的行,它只显示8。

有人有任何想法让它在下面的例子中显示为D列吗。

工作表:

column A B C D E
4      x   1 1
5      x   2 3
6      y   1  
7      y   3 
8      z   4 
9      x   5 8

代码:

llistrow = ThisWorkbook.Worksheets(Source).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row - 1
For i = 4 To llistrow Step 1
revisedbudget1314 = Application.WorksheetFunction.SumIf( _
Arg1:=ThisWorkbook.Worksheets(Source).Range(Cells(4, 1), Cells(i, 1)), _
Arg2:="x", _
Arg3:=ThisWorkbook.Worksheets(Source).Range(Cells(4, 3), Cells(i, 3)))
Next i 

在单元格D1中输入此公式

=IF(A1="x", SUMIF(A$1:A1, "=x", C$1:C1), "")

并将其乘以列D的其他单元格(选择D1并双击右下角的小矩形)

请为您的问题使用更好的标签(例如excelspreadsheet),以便更多的人可以查看它们。