Вы можете создать собственный DateDiff
, путем вычисления разности полных секунд. Затем выполните математику, чтобы получить количество часов (24 * 60 секунд), минут (60 секунд) и секунд.
После этого преобразуйте результаты в String
и таким образом помещая значение в ячейку как «hh: mm: ss».
Код
Option Explicit
Sub GetDiffInTime()
Dim lRow As Long
Dim DHours As Long, DMin As Long, DSec As Long, TotalSec As Long
lRow = 2
' get total difference in seconds
TotalSec = DateDiff("s", Cells(lRow, 2), Now())
DHours = Application.WorksheetFunction.RoundDown(TotalSec/(24 * 60), 0)
DMin = Application.WorksheetFunction.RoundDown((TotalSec - (DHours * (24 * 60)))/60, 0)
DSec = TotalSec - (DHours * (24 * 60)) - (DMin * 60)
' convert the values into strings, make the cell format look like "hh:mm:ss"
Cells(lRow, 3) = CStr(DHours) & ":" & CStr(DMin) & ":" & CStr(DSec)
End Sub
'DateDiff' [не] (http://stackoverflow.com/a/8232822/11683) принимает' "ч: мм: сс" 'для первого параметра. – GSerg