и ещ§ вопрос тут меня осенило ))) я переставил дату вперед на 2 дня, чтобы получить понедельник запустил, проверил, работает потом пришлось вернуть дату назад запустил эксел, открыл вашу программу - все зависло насмерть (потому файл сразу и не прикрепил вовремя) насколько я понял у вас нет задиты от неправильной даты если файл с такими датами "будущего" (т.е. он отработал текущую дату, а потом дату СЕГОДНЯ поставили раньшую по времени), то его цикл очень большой (сотни, если не тысячи лет перебирать по дням) наверное, стоит ввести проверку на такой случай?
и ещ§ вопрос тут меня осенило ))) я переставил дату вперед на 2 дня, чтобы получить понедельник запустил, проверил, работает потом пришлось вернуть дату назад запустил эксел, открыл вашу программу - все зависло насмерть (потому файл сразу и не прикрепил вовремя) насколько я понял у вас нет задиты от неправильной даты если файл с такими датами "будущего" (т.е. он отработал текущую дату, а потом дату СЕГОДНЯ поставили раньшую по времени), то его цикл очень большой (сотни, если не тысячи лет перебирать по дням) наверное, стоит ввести проверку на такой случай?карандаш
Сообщение отредактировал карандаш - Суббота, 16.02.2013, 20:59
Сделайте защиту на редактирование ячеек в строке 1 и 2 Какая разница макрос запретит менять дату или защита не даст.
я плохо объяснил никто не менял дату сам в программе я заменил системную дату на компе, поставил 18-ое ваша программа отработала алгоритм, считая что сегодня понедельник 18-го (потому что я переставил время на компе на два дня вперед) я закрыл ваш файл с сохранением потом вернул время обратно и снова открыл ваш файл данные в ней оказались "из будущего" сейчас снова проверил да, зависает вот про такую защиту я и говорил - про манипуляцию с датами на самом компе чтобы он не приступал к обработке, если дата из будущего
Цитата (AlexM)
Сделайте защиту на редактирование ячеек в строке 1 и 2 Какая разница макрос запретит менять дату или защита не даст.
я плохо объяснил никто не менял дату сам в программе я заменил системную дату на компе, поставил 18-ое ваша программа отработала алгоритм, считая что сегодня понедельник 18-го (потому что я переставил время на компе на два дня вперед) я закрыл ваш файл с сохранением потом вернул время обратно и снова открыл ваш файл данные в ней оказались "из будущего" сейчас снова проверил да, зависает вот про такую защиту я и говорил - про манипуляцию с датами на самом компе чтобы он не приступал к обработке, если дата из будущегокарандаш
Сообщение отредактировал карандаш - Суббота, 16.02.2013, 21:39
Предлагаю сделать защиту на открытие файла на два дня. Если дата в расписании из будущего, при открытии дни сдвигать не влево , а вправо. Так? Программа ориентируется на системную дату и если вы установите следующий год, то какой алгоритм сможет понять, что дата в системе неправильная, как от этого защитится? Я не знаю.
Предлагаю сделать защиту на открытие файла на два дня. Если дата в расписании из будущего, при открытии дни сдвигать не влево , а вправо. Так? Программа ориентируется на системную дату и если вы установите следующий год, то какой алгоритм сможет понять, что дата в системе неправильная, как от этого защитится? Я не знаю.AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Если дата в расписании из будущего, при открытии дни сдвигать не влево , а вправо. Так?
ну, не стоит заморачиваться ))) просто игнорировать обработку а я кнопочку приделаю и макрос назначу, который устанавливает текущую дату в G1 и все помогите правильно проверить дату перед обработкой я не знаю как правильно сравнивать даты
Цитата (AlexM)
Если дата в расписании из будущего, при открытии дни сдвигать не влево , а вправо. Так?
ну, не стоит заморачиваться ))) просто игнорировать обработку а я кнопочку приделаю и макрос назначу, который устанавливает текущую дату в G1 и все помогите правильно проверить дату перед обработкой я не знаю как правильно сравнивать датыкарандаш
Можно записывать дату/время при сохранении файла и сверять при открытии с текущей
В Макросе это и делается. Вопрос в том, что если кто-то изменит системную дату на будущее, то макрос ее отработает, а когда обратно системную изменят на реальную, то макрос "клинит".
Цитата (Serge_007)
Можно записывать дату/время при сохранении файла и сверять при открытии с текущей
В Макросе это и делается. Вопрос в том, что если кто-то изменит системную дату на будущее, то макрос ее отработает, а когда обратно системную изменят на реальную, то макрос "клинит".AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
осталось с именем листа справиться 1. найти его по метке в ячейке А1 2. найденный лист присвоить переменной, с которой потом можно будет работать и все будет просто отлично! )))
в строку [vba]
Код
If today = Date Then Exit Sub
[/vba] добавил > получил [vba]
Код
If today >= Date Then Exit Sub
[/vba] проверил работает спасибо
осталось с именем листа справиться 1. найти его по метке в ячейке А1 2. найденный лист присвоить переменной, с которой потом можно будет работать и все будет просто отлично! )))карандаш
Как определить нужный? Вы предлагали у нужного в А1 что-то прописать. Не обязательно Имя листа, можно просто точку или другой знак. При переборе в цикле листов, метка укажет на лист, в котором расписание.
Цитата (AlexM)
если сделать нужный лист текущим (активным)
Как определить нужный? Вы предлагали у нужного в А1 что-то прописать. Не обязательно Имя листа, можно просто точку или другой знак. При переборе в цикле листов, метка укажет на лист, в котором расписание.AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Как определить нужный? Вы предлагали у нужного в А1 что-то прописать. Не обязательно Имя листа, можно просто точку или другой знак. При переборе в цикле листов, метка укажет на лист, в котором расписание.
совершенно верно
просто я не знаю как перебирать имеющиеся в наличии листы в книге и как сравнивать у i-го листа ячейку А1 с константой
помогите, пожалуйста, с перебором листов
Цитата (AlexM)
Как определить нужный? Вы предлагали у нужного в А1 что-то прописать. Не обязательно Имя листа, можно просто точку или другой знак. При переборе в цикле листов, метка укажет на лист, в котором расписание.
совершенно верно
просто я не знаю как перебирать имеющиеся в наличии листы в книге и как сравнивать у i-го листа ячейку А1 с константой
У меня список с фильтром не получается поправить. В сообщении №28 _Boroda_ предложил два варианта списков с фильтрами. Один у меня не работал сразу, видимо из-за Excel 2003. Попробуйте его применить. Но если у вас заработает, то младших версиях Эксель будут проблемы.
У меня список с фильтром не получается поправить. В сообщении №28 _Boroda_ предложил два варианта списков с фильтрами. Один у меня не работал сразу, видимо из-за Excel 2003. Попробуйте его применить. Но если у вас заработает, то младших версиях Эксель будут проблемы.AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.