如何在excel vba中更改每行的条件和总和范围来编写sumif

时间:2012-11-13 10:24:32

标签: excel vba excel-vba

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

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

我希望答案应该看起来像下面的示例,但它只显示8在A列中带有“x”的行。

任何人都有任何想法让它在下面的例子中显示为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 

1 个答案:

答案 0 :(得分:0)

在单元格D1

中输入此公式
=IF(A1="x", SUMIF(A$1:A1, "=x", C$1:C1), "")

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

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