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 № 1Dla 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