使用Excel VBA SUMIF无法获得预期的结果

时间:2017-08-17 09:32:13

标签: excel vba

当我尝试编写For循环以指定每个行都有一个具有公式SUMIF的单元格时,我遇到了麻烦

For r = 2 To counter5 - 1
    temp_str = "B" + CStr(r)
    Sheets("Result").Cells(r, 18).Offset = _
       WorksheetFunction.SumIf(Range("B2:B5000"), """*" & temp_str & "*""", _
       Range("I2:I5000"))
Next

哪个counter5存储了我的"结果"的最终行号。工作表,在我运行代码后,我只在R列的单元格中得到0,我犯了什么错误导致我无法得到预期的结果,我也尝试更改" Offset&#34 ;方法"公式"相反,但仍然得到相同的结果。

1 个答案:

答案 0 :(得分:0)

对于WorksheetFunction.SumIf,以下内容将起作用(使用当前代码,您正在搜索字符串“B2”,例如,我想您想要单元格中的值?):

For r = 2 To counter5 - 1
    Sheets("Result").Cells(r, 18).Offset = _
        WorksheetFunction.SumIf(Range("B2:B5000"), "*" & Cells(r, 2) & "*", _
        Range("I2:I5000"))
Next