【发布时间】:2017-03-15 20:21:02
【问题描述】:
我将工作表中的所有数据复制到变量数组中。第 1 列的时间戳如下所示。
2017 年 3 月 2 日星期四 01:14:28 EST
我想在 1 分钟的时间内处理所有行。我正在使用 datediff 函数来找出分钟的差异。但不知何故,它没有按预期工作。 这是代码。
For i = 1 To UBound(vBaseArray)
dSavedDate = convertDate(vBaseArray(i,1)) 'function to convert string to date
..... some code
For j = i To UBound(vBaseArray) 'function to convert string to date
If DateDiff("n", dSearchDate, dSavedDate) >= 1 And DateDiff("n", dSearchDate, dSavedDate) <= 2 Then
----some code
但结果并不如预期 如果 dSavedDate 是 Thu Mar 02 01:14:28 EST 2017 那么 if 语句在时间戳后返回我
2017 年 3 月 2 日星期四 01:12:24 EST
2017 年 3 月 2 日星期四 01:12:44 EST
2017 年 3 月 2 日星期四 01:12:40 EST
2017 年 3 月 2 日星期四 00:47:12 EST
而我想要 dSavedDate >= 1 分钟的时间戳
我做错了什么?
【问题讨论】:
-
dSavedDate的值是“Thu Mar 02 01:14:28 EST 2017”还是vBaseArray(i,1)的值?如果不是dSavedDate,那么dSavedDate的值是什么?dSearchDate的值是多少?您的代码中是否有任何On Error语句可能会掩盖错误? -
是的,dSavedDate 的值是 Thu Mar 02 01:14:28 EST 2017。dSearchDate 具有第 1 列中符合特定条件的所有时间戳的值。主要是我在下面给出的 4 个值。但显然它们是不正确的
-
如果
dSavedDate是 Thu Mar 02 01:14:28 EST 2017,那么convertDate没有用 - 如果它是我看到的作为对您其他问题之一的答案的功能,它应该返回一个日期,而不是您显示的值。