Если вам нужна более точная информация о времени, я бы рекомендовал использовать одну из следующих функций, чтобы получить время начала и окончания
#If Win64 Then
Private Declare PtrSafe Function GetTickCount Lib "kernel32" () As LongLong
Private Declare PtrSafe Function timeGetTime Lib "winmm.dll" () As LongLong
#Else
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
#End If
Они должны возвращать более точную информацию, в зависимости от систем. Лично в Win7 64bit / Office 2010/2013 32bit я предпочитаю timeGetTime
Обратите внимание, что абсолютные значения timeGetTime
не рекомендуется использовать, но РАЗНИЦА (например, endTime-startTime) является довольно точным значением в миллисекундах