Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с MS Office > [Перенесено из VB6/MS Access]Макрос в Excel


Автор: DESert 26.2.2008, 00:56
Доброго всем времени суток!

Написал макрос на VBA в Excel состоящий из десяти циклов, 9 по 12 итераций, один - 2 итерации, т.е. всего итераций имеем 2*12^9....
никак сложных формул в программе нет, есть считывание ячеек и запись в другие ячейки извлеченные значения...
А вопрос такой... как узнать время исполнения программы? А то она у меня уже 1 час работает (точно не подвисла) и может быть и не ждать её завершения в ближайщие 2 года?  smile 

Автор: Akina 26.2.2008, 09:11
Если она УЖЕ работает - можно или ждать завершения, или обрывать процесс. Третьего не дано.
Если же речь о том, как узнать, где находится исполнение - просто надо выводить в каком-то из циклов текущее состояние переменных. Типа:

Код

For i1 = s1 to e1
 For i2 = s1 to e2
  For i3 = s1 to e3
   For i4 = s1 to e4
    For i5 = s1 to e5
     For i6 = s1 to e6
      'Perform actions
     next
    next
   next
   Debug.Print i1,i2,i3
   ' или
   Forms("Form1").Controls("Label11").Capture = cstr(i1) & vbNewLine & cstr(i2) & vbNewLine & cstr(i3)
   ' и обязательно!!!
   DoEvents
  next
 next
next

Точка вывода выбирается в общем достаточно "тыково" - чтобы время обновления данных составляло от нескольких секунд до нескольких минут.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)