将date转换为date序列

我试图将一个date(datetypes)转换为一个长。 这个长度应该是1900年1月1日以来的天数。如何在VBA中得到这个结果? 在Excel中,当我连接一个string的date,我得到这个自动。

Function dateToLong(ByVal d As Date) As Long dateToLong = CLng(d) End Function 

如果你需要在长时间使用这个捕获时间:

 Function Dt2Lng(aDate As Date) As Long '-- acept datetime range from MinDate to '-- (MinDate + 49710 days + 6:28:15) ~ 136 years Dt2Lng = CLng((aDate - MinDate) * 86400 - 2 ^ 31) End Function 

如果你在A1中有“1/1/2016”,你可以用Range(“A1”).Valid2来获得date序列号。