Может хватит формулы?
Вообще дата в екселе - это дробное число, где целая часть - количество дней от какой-то даты, а дробная - количество секунд или мл.сек. В общем если взять целую часть и умножить на 24 получится количество часов.
Для VBA есть функция DateDiff, которая возвращает разницу между двумя датами в заданных интервалах. Например, чтобы получить разницу в часах между двумя датами:
DateDiff("h", date1, date2)