【发布时间】:2012-11-01 18:42:49
【问题描述】:
我是 VBA 的新手,我正在尝试在 D 列的每一行中编写一个 sumif 函数,但会更改每行的条件和求和列范围,直到条件列的最后一个值。
例如:从第 4 行开始,第一个 sum & 标准范围为 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
【问题讨论】: