Я пытаюсь создать SumIfs, который суммирует все значения в диапазоне на основе такой даты.
Dim v_date as Date
v_date = Date
result = WorksheetFunction.SumIfs(Range("C3:C100"),Range("A3:A100"),v_date)
Проблема в том, что Range("A3:A100") содержит дату и время, но я хочу фильтровать только по дате.
Я пытался добавить подстановочный знак, например v_date & "*"
, но это не сработало. Результат всегда 0.
Предполагая, что v_date является датой, по умолчанию она будет равна полуночи. Поэтому вам нужно фильтровать по >=v_date
(полночь) и <v_date+1
(полночь следующего дня).
result = WorksheetFunction.SumIfs(Range("C3:C100"), _
Range("A3:A100"), ">=" & CDbl(v_date), _
Range("A3:A100"), "<" & CDbl(v_date + 1))
Как вы объявили v_date? Если это вариант, то это может не сработать. Если это дата, измените код, как отредактировано выше.
Да, это объявлено как дата, и с вашим обновленным ответом это работает. Спасибо!
Результат по-прежнему 0