Как в VBA узнать длительность операции в миллисекундах?

Узнай цену своей работы

Формулировка задачи:

Выполняю ряд функций в основной функции, которая в свою очередь выполняется в цикле заголовочной функции. Длительность выполнения заголовочной функции слишком высокая. Замерил время выполнения всех основных функций в заголовочной - выловил ту самую основную, которая и тормозит процесс. Но когда замерил время выполнения функций, выполняющихся в тормозной основной функции - дебугер выдал мне нолики. как измеряю время:
Листинг программы
  1. нач = Time()
  2. ... выполняем функцию
  3. кон = Time()
  4. рез = кон - нач
  5. нач = кон
  6. Debug.Print "Время выполнения функции " & рез
Вообщем когда миллисекунды за один цикл итерации складываются в 1000 итераций - это уже существенные минуты Но я измерить эти миллисекунды не могу. Как?
Вот содержимое окошка immediate: Этап 0 0 Этап 1 1,15740740740389E-05 Этап 2 6,94444444444553E-05 Этап 3 0 Этап 4 0 Этап 5 0 Этап 6 1,15740740740944E-05 Этап 7 1,15740740740389E-05 А это время выполнения отельных функций во 2 этапе Начало 0 Создание_массивов_записи_БД 0 Наполнение_массивов_записи_БД 0 Обработка_пустышек_массивов_записи_БД 0 Запись_данных 0

Решение задачи: «Как в VBA узнать длительность операции в миллисекундах?»

textual
Листинг программы
  1. Private Declare Function GetTickCount Lib "kernel32" () As Long
  2.  
  3. Sub Test()
  4.  
  5. Dim X(1 To 4000) As Integer
  6.  
  7.     Randomize
  8.    
  9.     For i% = 1 To 4000
  10.         X(i%) = 10 * Rnd()
  11.     Next i%
  12.  
  13.     t_Start& = GetTickCount
  14.  
  15.     QuickSort X(), 1, 4000
  16.  
  17.     t_End& = GetTickCount
  18.    
  19.     Debug.Print t_End& - t_Start&
  20.  
  21. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы