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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2011, 09:40   #1
Gvaridos
Пользователь
 
Регистрация: 26.10.2010
Сообщений: 32
Восклицание Выключение макроса

Доброго времени суток!

Проблема в следующем:
Макрос зациклен сам на себя, т.е. в самом коде есть следующее:
Application.OnTime Now + TimeValue("00:00:15"), "Find_Copy"
Он каждый раз обрабатывает большой объём данных, и копирует "выпавшие" в отдельную книгу.

Загвоздка в том, что мне необходимо выключать этот макрос в 19.00. Как это сделать?
Помогите пожалуйста!!
и сильно не пинайте, я начинающий.

в приложении есть код
Вложения
Тип файла: txt Макрос.txt (2.2 Кб, 123 просмотров)
Gvaridos вне форума Ответить с цитированием
Старый 18.01.2011, 10:17   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

if now < int(now)+19/24 then Application.OnTime Now + TimeValue("00:00:15"), "Find_Copy"
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 18.01.2011, 10:28   #3
Gvaridos
Пользователь
 
Регистрация: 26.10.2010
Сообщений: 32
По умолчанию

Спасибо за оперативность!

А можно ли сделать кнопку на листе Excel, при нажатии на которую завершалась бы работа данного макроса?
Gvaridos вне форума Ответить с цитированием
Старый 18.01.2011, 10:42   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

можно.
обьявите глобальную переменную, при нажатии на "вашу кнопку" просвойте ее определенное значение.
a перед стартом Find_Copy проверте еще одно условие
if now < int(now)+19/24 and RunFindCopy then Application.OnTime Now + TimeValue("00:00:15"), "Find_Copy"
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выключение. atlon Общие вопросы C/C++ 11 27.02.2011 19:12
Выключение макроса Gvaridos Microsoft Office Excel 5 24.12.2010 12:10
выключение Maddrag Операционные системы общие вопросы 1 01.10.2009 22:06
Выключение ПК W0LF Общие вопросы Delphi 7 24.07.2009 18:32
Запуск макроса с параметрами из другого макроса Saladin Microsoft Office Excel 2 19.01.2009 09:43