我有一个带有日期值的工作表。 Excel将其正确解释为日期。Excel将错误的日期值传递给VBA函数
我有一个接受Date参数的VBA函数。
当我从工作表中调用这个函数时,它有时会正常工作,有时它不会。当我在函数中设置一个断点来检查从不正确的单元格传递给函数的值时,我发现错误的日期被传递给函数 - 这是应该传递给函数的一天。时间值是正确的。
这发生在工作表上的随机位置。事实上,在昨天它无法正常工作的一个单元中,现在它现在可以正常工作。
该值的时间部分似乎没有区别。它可以是22:00,08:00,但仍然是一天。
这对任何人都有意义吗?我很困惑。
编辑:
我没有张贴任何代码,因为我不觉得这是一个代码问题。但这里的函数签名:
Function timeToDecimal(time As Date, semanticTimeFormat As String) As Double
设置上的可执行代码的函数的第一行设置一个断点,我看到time
,例如,1/1/1900 1:09:25 PM
的时候,在工作表上这显然是1/2/1900 1:09:25 PM
。
问题不在于我写的VBA代码。问题是Excel将数据传递给函数。在Excel和VBA的界面中是否有一些我不熟悉的怪癖?
发布您的一些代码可以帮助我们帮助您:) –
这些日期值如何计算? – David
因为它是** [保留关键字](http://msdn.microsoft.com/zh-cn/library/aa445227(v = vs.60)),所以不应该使用“time”这个词作为变量名。 ASPX)**。我不是说这是问题的根源,但肯定没有帮助:) –