使用Sumifs时键入不匹配(错误13)

时间:2020-03-01 08:18:11

标签: excel vba excel-formula

我想在Q列中添加日期在Z列中的Now和30分钟前之间并且在Y列中具有特定名称的Q列中所有单元格的值。

dim nu as Date
dim ThirtyMinAgo as Date
dim currentBestTopThree as Integer

nu = WorksheetFunction.RoundDown(Now * 48, 0) / 48
ThirtyMinAgo = nu - 1 / 48

currentBestTopThree = _
    Application.SumIfs(Sheets("topthreecheck").Range("Y2:Y" & Rows.Count).End(xlUp).Row, employeelist(i), _
     Sheets("topthreecheck").Range("Z2:Z" & Rows.Count).End(xlUp).Row, "<" & nu, _
     Sheets("topthreecheck").Range("Z2:Z" & Rows.Count).End(xlUp).Row, ">=" & ThirtyMinAgo, _
     Sheets("topthreecheck").Range("Q2:Q" & Rows.Count).End(xlUp).Row)

employeelist(i)是一个数组,其中包含Y列中的所有唯一名称。

iFor循环的当前迭代,该循环在1 and Ubound(employeelist)之间

Z列包含格式为“ 2020-03-01 08:32:23”的日期

Y列包含名称

Q列包含数字

SumIfs行给我错误

类型不匹配(错误13)

我试图对日期进行硬编码:

currentBestTopThree = Application.SumIfs(Sheets("topthreecheck").Range("Z2:Z" & Rows.Count).End(xlUp).Row, #2/25/2020 9:30:00 AM#, _
Sheets("topthreecheck").Range("Q2:Q" & Rows.Count).End(xlUp).Row)

但是它仍然显示错误。

我也尝试过:

If Sheets("topthreecheck").Range("Z2") = #2/25/2020 9:30:00 AM# Then
End If

那行并没有给我输入Type Mismatch错误。

有人知道这是怎么回事吗?

就好像代码试图对日期求和。我猜这就是为什么会出现错误。由于currentBestTopThree是整数。但是我都尝试过

SumIfs(Sum_range, Range1, Criteria1)

SumIfs(Range1, Criteria1, Sum_range)

其中之一应该是正确的!

0 个答案:

没有答案