/ / Nie można uzyskać oczekiwanego rezultatu przy użyciu Excel VBA SUMIF - excel, vba

Nie można uzyskać oczekiwanego wyniku przy użyciu programu Excel VBA SUMIF - excel, vba

Mam problem, gdy próbuję napisać pętlę For, aby przypisać każdemu wierszowi komórkę, która ma formułę 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

Który licznik 5 przechowuje ostatni numer wiersza mojegoArkusz „Wynik”, po uruchomieniu kodu dostałem tylko 0 w komórkach kolumny R, jaki błąd popełniłem, aby nie uzyskać oczekiwanego wyniku, spróbowałem także zmienić metodę „Przesunięcia” zamiast „Formuła”, ale nadal ma ten sam wynik.

Odpowiedzi:

0 dla odpowiedzi № 1

Dla WorksheetFunction.SumIf, jeśli zadziałają następujące elementy (z bieżącym kodem, szukasz łańcucha „B2”, na przykład, gdzie wyobrażam sobie, że chcesz wartość w komórce?):

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