Я пишу небольшой макрос, который будет выполнять некоторые вычисления для меня, прежде чем отображать их, но функция «sum» внутри моего макроса, похоже, не работает?VBA сумма диапазона с vba не работает?
sub CompileDashboard()
For i = 3 To 100
If Sheets(1).Cells(i, "A").Value = "Week 36" Then
Sheets(2).Cells(1, 1) = Application.WorksheetFunction.Sum(Range(Cells(i, "AN"), Cells(i, "BF")))
End If
Next
End sub
Это упрощение этого нужно просто шага, который разве работает, и я не уверен, почему оно не суммируя? Он всегда выводится как 0, несмотря на значения в диапазоне.
попробуйте мой ответ ниже. Вы заметили, что каждый раз переписываете свой результат? вы помещаете Sum в 'Sheets (2) .Cells (1, 1)', вы не имели в виду также продвигать строку с помощью цикла 'For', и результат должен быть:' Таблицы (2) .Cells (i, 1) ' –
, если вы хотите суммировать все в' Ячейках (1,1) 'then' Таблицы (2) .Cells (1, 1) = Таблицы (1). Evaluate ("SUM (AN3: BF100 * (A3: A100 = "" Неделя 36 "")) ")' будет делать это в одной строке;) –