Я использую функцию SumIf
, чтобы добавить все ячейки, содержащие строку dailyTotal
слева от них. Затем я установил ячейку C29
на листе Macros
этому значению и сравнил его с номером, чтобы узнать, какой код выполняет следующий. У меня есть значения в ячейках столбца E, но значение всегда возвращается как 0.Значение SumIf всегда возвращается как 0 - Excel VBA
Код:
dailyTotal = "Daily Total:"
Dim totalHours As Double
Dim rng As Range: Set rng = Application.Range("Totals!E11:E100")
Dim cell As Range
For Each cell In rng.Cells
With Sheets("Totals")
Sheets("Macros").Range("C29").Formula = Application.SumIf(cell.Offset(, -1), dailyTotal, "")
Sheets("Macros").Range("C29") = totalHours
End With
Next cell
' check if command is applicable
If totalHours > 4 Then
Формула SUMIF неправильно: SUM (RANGE , КРИТЕРИИ, [RANGE_TO_SUM]). Вы хотите использовать весь диапазон, а не отдельную ячейку. И у вас есть два критерия: строка '' Daily Total: "' и '' '' Не могли бы вы показать некоторые данные теста и ожидаемый результат? –
Скорректированный комментарий, поскольку это только частично: Удалите эту строку: «Листы (« Макросы »). Диапазон (« C29 ») = totalHours« – Zerk