Попробовал поработать с таймером, определить время выполнения кода. [vba]
Код
Sub TestTimer() Dim TimeBeg As Date, TimeEnd As Date, TimeWork As Date, i, j, res TimeBeg = Timer For i = 0 To 100000 res = res + 1 Next i TimeEnd = Timer TimeWork = TimeEnd - TimeBeg Debug.Print TimeWork End Sub
[/vba] в результате получаю 0:11:15. Возникли следующие вопросы: а) как трактовать эти значения? Это 11 милисекунд и 15 микросекунд? б) как вывести данные в мили и микросекундах? Файл прикрепил.
Попробовал поработать с таймером, определить время выполнения кода. [vba]
Код
Sub TestTimer() Dim TimeBeg As Date, TimeEnd As Date, TimeWork As Date, i, j, res TimeBeg = Timer For i = 0 To 100000 res = res + 1 Next i TimeEnd = Timer TimeWork = TimeEnd - TimeBeg Debug.Print TimeWork End Sub
[/vba] в результате получаю 0:11:15. Возникли следующие вопросы: а) как трактовать эти значения? Это 11 милисекунд и 15 микросекунд? б) как вывести данные в мили и микросекундах? Файл прикрепил.tumanovalex
tumanovalex, здравствуйте Timer возвращает количество секунд с начала суток - поэтому не нужно использовать формат даты. Текущий вариант нельзя никак трактовать. Корректный:[vba]
Код
Sub TestTimer() Dim TimeBeg#, TimeEnd#, TimeWork#, i&, res& TimeBeg = Timer For i = 1 To 1000000 res = res + 1 Next i TimeEnd = Timer TimeWork = Format((TimeEnd - TimeBeg) * 1000, "0.000") MsgBox TimeWork End Sub
[/vba] *1000 - перевод секунд в миллисекунды, формат "0.000" отображает также и число микросекунд (дробная часть)
tumanovalex, здравствуйте Timer возвращает количество секунд с начала суток - поэтому не нужно использовать формат даты. Текущий вариант нельзя никак трактовать. Корректный:[vba]
Код
Sub TestTimer() Dim TimeBeg#, TimeEnd#, TimeWork#, i&, res& TimeBeg = Timer For i = 1 To 1000000 res = res + 1 Next i TimeEnd = Timer TimeWork = Format((TimeEnd - TimeBeg) * 1000, "0.000") MsgBox TimeWork End Sub
[/vba] *1000 - перевод секунд в миллисекунды, формат "0.000" отображает также и число микросекунд (дробная часть)buchlotnik
Private Sub YourMacro() 'Таймер для замера времени процедуры Dim iTimer As Single iTimer = Timer '------------ Здесь должен быть код Вашей программы ------------------------------------------------- MsgBox "Время загрузки: " & Timer - iTimer & " сек.", vbInformation, "Информация о загрузке:" MsgBox "Время выполнения макроса " & Format((Timer - iTimer) / 86400, "Long Time"), vbExclamation, ""
'Если Вы хотите получить время именно в секундах, то используйте первый MsgBox, если в часах, минутах и секундах, то второй. End Sub
[/vba]
[vba]
Код
Private Sub YourMacro() 'Таймер для замера времени процедуры Dim iTimer As Single iTimer = Timer '------------ Здесь должен быть код Вашей программы ------------------------------------------------- MsgBox "Время загрузки: " & Timer - iTimer & " сек.", vbInformation, "Информация о загрузке:" MsgBox "Время выполнения макроса " & Format((Timer - iTimer) / 86400, "Long Time"), vbExclamation, ""
'Если Вы хотите получить время именно в секундах, то используйте первый MsgBox, если в часах, минутах и секундах, то второй. End Sub