/ / Excel VBA SUMIFを使用して期待される結果を取得できません-Excel、VBA

Excel VBA SUMIFを使用して期待される結果が得られません - 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しかありません。期待した結果が得られないためにどのようなミスをしたか、「オフセット」メソッドも変更しようとしました。代わりに「式」に変更しましたが、それでも同じ結果が得られました。

回答:

回答№1は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