基于具有日期和时间的范围的WorksheetFunction.SumIfs

时间:2019-05-22 08:35:21

标签: excel vba

我正在尝试创建一个SumIfs,以基于像这样的日期将范围内的所有值相加

arrTextRow

问题是Range(“ A3:A100”)中有日期和时间,但我只想按日期过滤。 我尝试添加诸如Dim v_date as Date v_date = Date result = WorksheetFunction.SumIfs(Range("C3:C100"),Range("A3:A100"),v_date) 之类的通配符,但无效。结果始终为0。

1 个答案:

答案 0 :(得分:1)

假定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))