2016-05-03 3 views
-3

Я хотел бы рассчитать разницу во времени между 2 ячейками и результатом, отображаемым в 3-й ячейке таблицы MS WORD TABLE. Например, ячейка D2 показывает 2pm и D1, показывающий 1pm и разницу в ячейке B2Рассчитать разницу во времени в VBA для Word

Sub DetermineDuration() 
    Dim dtDuration As Date 

    dtDuration = DateDiff("h:mm:ss", D2, D1) 
    Range("B2").dtDuration 
End Sub 
+0

Диапазоны и ячейки ... это Excel, а не Word. Исправлены теги соответственно. – Leviathan

+0

Я искал помощь в Word VBA. В частности, расчет разницы во времени в таблице слов –

ответ

1

Даты могут быть вычтены как числа:

Sub DetermineDuration() 
    Range("B2") = Range("D2") - Range("D1") 
End Sub 

Убедитесь, что формат ячейки B2, как Time наш вы будете просто закончите с числом с плавающей запятой.

+0

@Nihal Costa: Решает ли ваша проблема ваша проблема? Если да, примите этот ответ. – Leviathan

0

Вы можете использовать функцию DateDiff для возврата определенного типа интервала, например часов, минут или секунд, без точности. Он возвращает регулярное число, а не значение времени. В параметре вы должны указать допустимое значение интервала. Вы можете узнать о функции и увидеть действительные значения интервала здесь MS Excel: How to use the DATEDIFF Function (VBA)

yyyy Year 
q Quarter 
m Month 
y Day of year 
d Day 
w Weekday 
ww Week 
h Hour 
n Minute 
s Second 

Как вы можете видеть, «ч: мм: сс» не является допустимым интервалом. Вы можете использовать этот формат, чтобы получить разницу в секундах:

DateDiff("s", Range("D2"), Range("D1")) 

Если вы хотите, чтобы получить значение времени, вы можете преобразовать с помощью функции TimeSerial.

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