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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.01.2009, 14:24   #1
Maxx
Форумчанин
 
Аватар для Maxx
 
Регистрация: 29.10.2008
Сообщений: 294
Вопрос Таймер в VBA Excel

Совсем недавно в этой теме "Работа макроса в фоновом режиме" IgorGO разместил пример таймера, построеного в VBA.

В продолжение темы:
как можно заставить этот таймер остановиться не нажатием на кнопку СТОП, а при выполнении условия в определенной ячейке Листа (B1), а после выполнения определенных действий (С1=значение С1+1) - снова его запустить.

В моем примере вылетает ошибка:

Method "OnTime" of object "_Application" failed
Вложения
Тип файла: rar Таймер.rar (10.5 Кб, 228 просмотров)

Последний раз редактировалось Maxx; 19.01.2009 в 14:30.
Maxx вне форума
Старый 19.01.2009, 16:50   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

все написано правильно, но есть одна ошибка.
В приведенном коде, когда в ячейке (1,2) появилась 5 - срабатывает Worksheet_Change, который вызывается StopTimer, который в ячейку (2,1) вносится новое значение, это приводит к очередному срабатыванию Worksheet_Change, который снова запускает StopTimer, который пытается сбросить выполнение процедуры, которая уже сбошена... - вот тут ошибка.

попытайтесь останавливать работу таймера не посылом команды "остановить таймер", а просто в процедуре RunTimer()
поставьте условие перед выполнением Application.OnTime NextRun, "RunTimer" и будет вам счастье.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 19.01.2009, 16:53   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Можете попробовать ещё такой вариант:
Вложения
Тип файла: rar Таймер.rar (11.9 Кб, 456 просмотров)
EducatedFool вне форума
Старый 20.01.2009, 10:06   #4
Maxx
Форумчанин
 
Аватар для Maxx
 
Регистрация: 29.10.2008
Сообщений: 294
По умолчанию

Всем ответившим ОГРОМНОЕ СПАСИБО!

Очень много полезных советов и информации, уже практически разобрался
Maxx вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Excel VBA fidot Microsoft Office Excel 1 28.12.2008 19:20
VBA Excel Slicker Помощь студентам 4 04.11.2008 17:14
VBA i Excel corsarlt Microsoft Office Excel 3 03.04.2008 06:13
макрос VBA Excel Bor Microsoft Office Excel 5 25.01.2008 12:20
VBA Excel 2003 tat-besidovska Microsoft Office Excel 12 18.01.2008 10:54