DateSerial未输出预期日期

时间:2016-11-16 15:00:47

标签: vba

我有一些使用DateSerial的VBA代码,但它没有输出可疑结果。我希望能有一些解释,为什么,因为我根本没想到结果。

我的代码如下所示:

 Set rngTestDate = ThisWorkbook.Worksheets("Sheet11").Range("A:A").Find(DateSerial(Year(TheDate1), 1, 1))

输出如下:

?rngTestDate
11/1/2016 
?Year(TheDate1)
2016 
?DateSerial(Year(TheDate1),1,1)
1/1/2016 

使用即时窗口,Sheet11没有2016年1月1日;但它确实有2016年1月4日和2016年11月1日。我完全期待.Find方法寻找2016年1月1日,如果找不到,则设置为{{1 }}。如果不这样做,至少找到下一个可用日期 为什么Nothing方法在2016年1月4日的2016年11月1日找到上述.Find值时会发现?或者我想更好的问题是:如果找不到1/1/2016,为什么不设置为DateSerial

1 个答案:

答案 0 :(得分:0)

Per Vincent G的评论,问题是我正在搜索包含该字符串的"1/1/2016""11/1/2016"。无论DateSerial选项如何,它似乎都将日期视为字符串。一旦我完全理解它就能解决问题。谢谢你,文森特G!