2016-06-25 4 views
0

Мне нужна помощь при расчете разницы во времени между двумя разными датами.VBA: Необходимо рассчитать разницу во времени между разными датами

Cell(1,1) contains: 19/06/2016 01:00:00 
Cell(1,2) contains: 20/06/2016 02:30:00 

Ответ должен быть: 25:30:00 Ниже мой код:

Dim a As Date, b As Date  
a = Cells(1, 1).Value 
b = Cells(1, 2).Value 
Cells(1, 3).Value = TimeValue(b) - TimeValue(a) 

Но этот код дает мне 1:30:00

+0

Возможный дубликат [Как рассчитать разницу во времени в VBA?] (Http://stackoverflow.com/questions/28475288/how-to-calculate-time-difference-in-vba) – BitAccesser

+1

Функция «TIMEVALUE» Возвращает десятичное число времени, представленного текстовой строкой. Десятичное число - это значение от 0 (ноль) до 0,99988426, представляющее время от 0:00:00 (с 12:00 до 23:00) до 23:59:59 (11:59:59 по P.M.). Таким образом, использование 'TimeValue (b) - TimeValue (a)' неверно. Я думаю, что решение ученика Гэри - правильный подход. – skkakkar

ответ

3

Просто вычитать:

Sub luxation() 
    Dim a As Date, b As Date 
    a = Cells(1, 1).Value 
    b = Cells(1, 2).Value 
    Cells(1, 3).Value = b - a 
    Cells(1, 3).NumberFormat = "[hh]:mm:ss" 
End Sub 

enter image description here

Смежные вопросы