如何用excel vba中的每行更改标准和总和范围来编写sumif

我是VBA的新手,我试图在D行的每一行中写一个sumif函数,但是会改变每行的标准和总和范围,直到标准列的最后一个值。

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

我希望答案应该看起来像下面的例子,但它只显示8列为那些在A列中的“X”

剂量任何人有任何想法,使其显示为列D在下面的例子。

工作表:

column ABCDE 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 

在单元格D1input此公式

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

并将其与D列的其他单元相乘(selectD1并双击右下angular的小矩形)

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