Есть рабочий макрос на обновление данных в книге каждую секунду, много ячеек с показателями времени, которые нужно видеть и понимать,что процесс идет [vba]
Код
Sub calctimer() Calculate Application.OnTime Now + TimeSerial(0, 0, 1), "calctimer" End Sub
[/vba]
HUGO пишет:
Цитата
Когда у Вас появится personal.xls* - то это файл вообще не сможете закрыть (если нет запроса разрешить макросы). Этот макрос времени нужно дорабатывать.
По совету _Boroda_ заменил на
Цитата
ActiveSheet.Calculate
shurikus также обращал внимание на проблему файла с этим макросом
ВОПРОС: каким другим методом можно нормально пересчитать активный лист (обновить данные)
Добрый день, уважаемые знатоки
Есть рабочий макрос на обновление данных в книге каждую секунду, много ячеек с показателями времени, которые нужно видеть и понимать,что процесс идет [vba]
Код
Sub calctimer() Calculate Application.OnTime Now + TimeSerial(0, 0, 1), "calctimer" End Sub
[/vba]
HUGO пишет:
Цитата
Когда у Вас появится personal.xls* - то это файл вообще не сможете закрыть (если нет запроса разрешить макросы). Этот макрос времени нужно дорабатывать.
По совету _Boroda_ заменил на
Цитата
ActiveSheet.Calculate
shurikus также обращал внимание на проблему файла с этим макросом
ВОПРОС: каким другим методом можно нормально пересчитать активный лист (обновить данные)VN
Stormy, Этот метод отлично выполняет свою задачу - но при открытии второго файла их уже не закрыть простым способом, Нужные ячейки указать можно, но проблема не в этом
Stormy, Этот метод отлично выполняет свою задачу - но при открытии второго файла их уже не закрыть простым способом, Нужные ячейки указать можно, но проблема не в этомVN
VN, а почему Вы начали новую тему вместо того чтобы продолжить в той, где Вам начинали пытаться помочь? Как мы здесь, не зная предыстории, можем догадаться, почему Вам обязательно нужно принудительно обновлять лист, а автоматическое обновление Вас не устраивает? Да и цитаты Вы оформляете так, что не понятно, когда и по какому поводу они были сказаны (без ссылки, даты, времени)… Ну неужели так трудно в нужном посте выделить цитируемый фрагмент и просто нажать там же "Цитата", а потом уже скопипастить автоматически созданную и корректно оформленную цитату туда, куда Вам нужно?
VN, а почему Вы начали новую тему вместо того чтобы продолжить в той, где Вам начинали пытаться помочь? Как мы здесь, не зная предыстории, можем догадаться, почему Вам обязательно нужно принудительно обновлять лист, а автоматическое обновление Вас не устраивает? Да и цитаты Вы оформляете так, что не понятно, когда и по какому поводу они были сказаны (без ссылки, даты, времени)… Ну неужели так трудно в нужном посте выделить цитируемый фрагмент и просто нажать там же "Цитата", а потом уже скопипастить автоматически созданную и корректно оформленную цитату туда, куда Вам нужно?Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Пятница, 21.03.2014, 22:56
Можно доработать этот ontime - просто время старта нужно заносить через переменную, а при закрытии файла этот таймер отключать. Вот пример: [vba]
Код
Dim NextTime
Sub StartScript() On Error GoTo NewTime call macro1 'это вызываем какой-то макрос, т.е. работаем NewTime: NextTime = Now + TimeValue("00:01:00") Application.OnTime EarliestTime:=NextTime, Procedure:="StartScript" End Sub
Sub StopScript() On Error Resume Next Application.OnTime EarliestTime:=NextTime, Procedure:="StartScript", Schedule:=False End Sub
[/vba] StopScript вызывать когда нужно остановить таймер.
Можно доработать этот ontime - просто время старта нужно заносить через переменную, а при закрытии файла этот таймер отключать. Вот пример: [vba]
Код
Dim NextTime
Sub StartScript() On Error GoTo NewTime call macro1 'это вызываем какой-то макрос, т.е. работаем NewTime: NextTime = Now + TimeValue("00:01:00") Application.OnTime EarliestTime:=NextTime, Procedure:="StartScript" End Sub
Sub StopScript() On Error Resume Next Application.OnTime EarliestTime:=NextTime, Procedure:="StartScript", Schedule:=False End Sub
[/vba] StopScript вызывать когда нужно остановить таймер.Hugo