Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2009, 19:11   #1
ytzm2hsD3X0HVxwl
Заблокирован
 
Регистрация: 02.12.2009
Сообщений: 15
По умолчанию Время действия программного кода

Здравствуйте,
Хочу сравнить время работы двух процедур. Чем можно воспользоваться?
ytzm2hsD3X0HVxwl вне форума Ответить с цитированием
Старый 11.12.2009, 19:20   #2
андей
Пользователь
 
Регистрация: 27.09.2008
Сообщений: 69
По умолчанию

вставьте timer в обе и в конце Msgbox
Андрей
андей вне форума Ответить с цитированием
Старый 11.12.2009, 19:23   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

(c) Лузер сайт ПланетаExcel

цитирую:
Цитата:
Сообщение от Лузер
Может это наведет на идеи:


Для того, чтобы определить сколько милисекунд прошло с момента запуска Windows, достаточно воспользоваться нижеприведённой функцией WinAPI
Код:
Private Declare Function GetTickCount Lib "kernel32.dll" () As Long 

Private Sub GetMilliSeconds() 
  MsgBox "С момента запуска Windows прошло : " & _ 
  GetTickCount & " милисекунд", , "" 
End Sub
Данная функция может быть полезна, например, при точном определении времени выполнения макроса, т.е. в тех случаях, когда округление до секунды, нежелательно.

Если Вы хотите вызвать эту функцию из ячеек рабочего листа, то в MS Excel 97 для этого можно использовать, например, функцию рабочего листа =ВЫЗВАТЬ()
В следующих же версиях, вызов этой функции из ячеек листа заблокирован разработчиками, поэтому, Вам, по всей видимости, придётся воспользоваться пользовательской функцией,
например =GetTickMilliSecond()
Код:
Private Declare Function GetTickCount Lib "kernel32.dll" () As Long 

Function GetTickMilliSecond&() 
  Application.Volatile True 
  GetTickMilliSecond& = GetTickCount 
End Function
Для того, чтобы определить сколько милисекунд выполнялся необходимый макрос, достаточно воспользоваться нижеприведённой функцией WinAPI

Код:
Private Declare Function GetTickCount Lib "kernel32.dll" () As Long 

Private Sub YourMacro() 
  iMlSeconds& = GetTickCount 
  'Здесь должен быть код Вашей программы. 
  MsgBox "Время выполнения макроса составило " & _
    GetTickCount - iMlSeconds& & " милисек.", vbExclamation, "" 
End Sub
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.12.2009, 14:24   #4
ytzm2hsD3X0HVxwl
Заблокирован
 
Регистрация: 02.12.2009
Сообщений: 15
По умолчанию

Благодарю..
ytzm2hsD3X0HVxwl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Время нажатия на кнопку мыши(Время реакции) Кирилл13 Помощь студентам 1 11.04.2009 19:41
Перевод программного кода из VBA в VB (6.0) zxspec Помощь студентам 2 05.02.2009 00:39
Проблемма: Программное отключение "защиты формы" влияет на скорость выполнения программного кода... StrikeR33 Microsoft Office Word 0 28.05.2008 20:11
Выполнение действия в заданное время WOWan234 Помощь студентам 6 02.05.2007 01:52