Я пытаюсь использовать следующий код, чтобы показать, как долго выполнялась серия команд. В этом примере я ожидал, что он вернется с «10» или что-то подобное.VBA - Показывает, сколько времени понадобилось подпункту
Вместо этого он возвращается с:
Что происходит и как я могу отформатировать это правильно?
Sub timeyWimey()
Dim t1 As Date
Dim t2 As Date
Dim timeTaken As Date
t1 = Now()
Application.Wait (Now + TimeValue("0:00:10"))
t2 = Now()
timeTaken = t2 - t1
MsgBox timeTaken
End Sub
Edit:
Финальный код после того, как некоторые большие ответы:
Sub timeyWimey()
'Dim t1 As Double
'Dim t2 As Double
t1 = Now()
Application.Wait (Now + TimeValue("0:00:10"))
t2 = Now()
timeTaken = t2 - t1
MsgBox Format(timeTaken, "nn:ss.000")
End Sub
Результаты в:
BAM! Задача решена! Спасибо всем за вашу помощь!
спасибо. Так что это определенно объясняет проблему. Позвольте мне немного подумать об этом. – timbram
Итак, как работает формат чисел после десятичной (сумма текущего дня)? Если перезапустить мой сценарий, сохранив все как удвоение, я получаю, что время, прошедшее (10 секунд), равно 0.00005787036934635. Это процент от дня или чего-то еще? – timbram
Я добавил, как вы могли бы отформатировать двойной конец моего ответа. А '0,00005787036934635' - это в основном процент за день. Например, если бы это было 0.5, это было бы 12: 00noon, потому что половина дня прошла. – Newd