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は0WorksheetFunction.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