Win7上的MS Excel Professional Plus v14。VBA Excel - 相等日期不等於
我在比較日期/時間的平等方面遇到問題。
看起來相等的兩個日期2013/12/16 12:19:33都被標註爲日期。一個是日期數組,另一個是日期變量。 arrPP稍後重新定義。當我這樣做則DateDiff(「S」,DATE1,DATE2)它產生0
Dim arrPP() As Date ' During runtime shows type is Date(1 to 2, 1 to 1)
Dim dNextStartTime as Date
'...code removed ...
If arrPP(iPP_START, lPP_index) <= dNextStartTime Then
GoTo PP_OUT
End If
即使他們是平等的,上面的計算結果爲假,在錯誤的道路取。這很難追查,並導致意外/錯誤的結果。
關於日期平等,有沒有官方的「gotcha」?是否存在需要比較的隱藏毫秒,或將比較限制在秒級別的方法?
我已經嘗試了其他幾種替代方法,包括在數組元素前放置CDate。
失敗:
If Not(arrPP(iPP_START, lPP_index) > dNextStartTime) Then
GoTo PP_OUT
End If
PASS:(但誰也想做到這一點?)
If arrPP(iPP_START, lPP_index) <= dNextStartTime Or _
DateDiff("s",arrPP(iPP_START,lPP_index),dNextStartTime) = 0 Then
GoTo PP_OUT
End If
'VBA Excel - 同等日期不評估爲平等'你如何填充日期?這個對我有用。 –