VBA 中带有 for 循环的 Sumif 条件
Sumif criteria with for loop in VBA
Dim i As Integer, j As Integer, k As Integer, l As Integer
i = ActiveSheet.PivotTables(1).TableRange2.Rows.Count + 1
j = ActiveSheet.PivotTables(1).TableRange2.Columns.Count
k = ActiveSheet.PivotTables(1).TableRange2.Rows.Count - 7
For l = 2 To j
Cells(i + 2, l).Value = WorksheetFunction.SumIf(Range(Cells(9, l), Cells(i, l)), ">0", Range(Cells(9, l), Cells(i, l)))
Next l
您好,我想在 vba 中使用 sumif 函数。关键是在循环中执行此操作,这取决于列数。我现在实际上并不知道这里有什么问题,但我认为可能有一些符合我所采用的标准的东西。我想对所有数字大于 0 的单元格求和,但不知道如何写。
使用以下函数。无需使用“*”进行比较
Cells(i + 2, l).Value = Aplication.WorksheetFunction.SumIf(Range(Cells(9, 2), Cells(i, 2)), "> 0", Range(Cells(9, 2), Cells(i, 2)))
如果在您的 SumIf
中您使用的是与标准 (>0
) 进行比较的范围也作为要求和的范围,则无需将其添加到 SumIf
作为第三个参数。
您可以使用以下代码:
For l = 2 To j
Cells(i + 2, l).Value = WorksheetFunction.SumIf(Range(Cells(9, l), Cells(i, l)), ">0")
Next l
Dim i As Integer, j As Integer, k As Integer, l As Integer
i = ActiveSheet.PivotTables(1).TableRange2.Rows.Count + 1
j = ActiveSheet.PivotTables(1).TableRange2.Columns.Count
k = ActiveSheet.PivotTables(1).TableRange2.Rows.Count - 7
For l = 2 To j
Cells(i + 2, l).Value = WorksheetFunction.SumIf(Range(Cells(9, l), Cells(i, l)), ">0", Range(Cells(9, l), Cells(i, l)))
Next l
您好,我想在 vba 中使用 sumif 函数。关键是在循环中执行此操作,这取决于列数。我现在实际上并不知道这里有什么问题,但我认为可能有一些符合我所采用的标准的东西。我想对所有数字大于 0 的单元格求和,但不知道如何写。
使用以下函数。无需使用“*”进行比较
Cells(i + 2, l).Value = Aplication.WorksheetFunction.SumIf(Range(Cells(9, 2), Cells(i, 2)), "> 0", Range(Cells(9, 2), Cells(i, 2)))
如果在您的 SumIf
中您使用的是与标准 (>0
) 进行比较的范围也作为要求和的范围,则无需将其添加到 SumIf
作为第三个参数。
您可以使用以下代码:
For l = 2 To j
Cells(i + 2, l).Value = WorksheetFunction.SumIf(Range(Cells(9, l), Cells(i, l)), ">0")
Next l