我想在Excel中使用VBA使用DateDiff函数的宏。DateDiff函数意外地返回另一个日期或默认
我的理解是代码应该返回一个整数值。
下面是在这个位置网上给出的例子:http://www.techonthenet.com/access/functions/date/datediff.php
-DateDiff( “YYYY”,第15/10/1998#,#21/11/2003#)将返回5
- DateDiff(“m”,#15/10/2003#,#22/11/2003#)将返回1
-DateDiff(“d”,#15/10/2003#,#22/11/2003 #)将返回38
以下是我使用的代码:
Sub macrotest()
Dim dateNow, dateThen, dateFinal As Date
dateNow = Format(Sheet1.Cells(2, 2), "DD/MM/YY")
dateThen = Format(Sheet1.Cells(3, 2), "DD/MM/YY")
dateFinal = DateDiff("d", dateNow, dateThen)
Sheet1.Cells(5, 2) = dateFinal
End Sub
最后,这是我在我的Excel行:
B2:12年5月30日
B3:12年3月30日
B5:12:00:00 AM (这个单元应该有结果列出)。
-I得到的日期是excel默认的,或者是12:00。
任何想法?谢谢!
你在excel文件中的日期是实际的日期还是简单的文本字符串? –
检查单元格B5当前设置的格式。它是否设置为数字格式? – mellamokb
不,他们被格式化为excel中的日期 –