作为一个大型项目的一部分,我试图计算搜索范围之间的日期实例。
例如,我的日期范围是02/01/2014
到04/01/2014
,在我的搜索范围内,02/01/2014
出现了4次,03/01/2014
出现3次,{{1} }出现3次,然后计数将返回值10。
我可以使用数字 - 所以类似地假设我的搜索范围是2到4并且在我的搜索范围2中出现4次,3次出现3次而4次出现3次然后计数确实返回10次。但是当我对日期完全一样,然后计数返回0。
所以这里有2个测试代码 - 我在A栏中有数字,在B栏中有日期
04/01/2014
在Sub testnumbers()
Dim Val As Double
Val = Application.WorksheetFunction.CountIfs(Range("A:A"), ">=2", Range("A:A"), "<=4")
MsgBox Val
End Sub
中返回正确的计数。而
Val
将值0返回到Sub testdates()
Dim Val As Double
Val = Application.WorksheetFunction.CountIfs(Range("B:B"), ">=02/01/2014", Range("B:B"), "<=04/01/2014")
MsgBox Val
End Sub
,就像它没有找到该范围内任何日期的任何实例一样。
任何人都可以看到我出错的地方吗?它似乎没有正确地看到日期...
任何帮助都非常感激。
答案 0 :(得分:-1)
试试这个:
Sub testdates()
Dim Val As Double, wf As WorksheetFunction, r As Range, _
d1 As Date, d2 As Date
Set wf = Application.WorksheetFunction
Set r = Range("B:B")
d1 = DateValue("2/1/2014")
d2 = DateValue("4/1/2014")
Val = wf.CountIfs(r, ">=" & d1, r, "<=" & d2)
MsgBox Val
End Sub