Автоматическое вычисление листа в Excel

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Avsha
Сообщения: 665
Зарегистрирован: 08 сен 2005, 13:47
Откуда: KZ

Требуется с заданным периодом (например 1 сек) осуществлять перерасчет несложного по расчетам листа рабочей книги,
т.е. выполнять метод Calculate (F9) циклически раз в 1 сек.
Желательно иметь кнопки Пуск и Стоп соответственно для запуска и останова такого режима вычислений.
Возможно ли это реализовать в Excel ?
Или же подойдет вариант, что циклически будет меняться хотя бы одна ячейка Excel.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Лехко! :)

Код: Выделить всё

Dim gate As Boolean
Const Sec = 5 'секунд

Private Sub SomeProcedure()
  Sheet1.Calculate
  If gate Then Application.OnTime Now + 1 / 24 / 60 / 60 * Sec, "SomeProcedure"
End Sub

Sub Go()
  gate = True
  SomeProcedure
End Sub


Sub Stp()
  gate = False
End Sub
Avsha
Сообщения: 665
Зарегистрирован: 08 сен 2005, 13:47
Откуда: KZ

Спасибо Naeel Maqsudov, все отлично работает даже в секунде.
Не знал, что Excel такой планировщик у себя в арсенале имеет, крепко сделан :)
Ответить