![]() |
Модераторы: mihanik |
![]() ![]() ![]() |
|
Алекасандр |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 26.9.2006 Репутация: нет Всего: нет |
Мы ведем учет в таблицах Ехсел по конторольным датам. При наступлении (по календарю !!!)установленной заранее даты в ячейке-она должна либо изменить цвет , либо начать мигать, привлекая внимание к себе. После выполнения запланированных работ на этот день- менеджер вручную гасит ее , меняя цвет.
Проблема в привязывании к календарю. Мигающую ячейку я нашел. Помогите сделать этот скрипт!! Александр #### ICQ #### Это сообщение отредактировал(а) cardinal - 26.9.2006, 14:10 |
|||
|
||||
ИгнатьевАлексей |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 369 Регистрация: 18.11.2005 Репутация: 2 Всего: 3 |
Я бы так сделал. При открытии документа выполняется процедура, которая сравнивает содержимое необходимых ячеек с текущей датой (функция Date() ) и изменяет необходимое свойство нужный ячеек.
-------------------- Vingrad - FOREVER !!! "Как вы яхту назовете - так она и поплывет!" Капитан Врунгель |
|||
|
||||
Алекасандр |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 26.9.2006 Репутация: нет Всего: нет |
а как конкретно прописать макрос?
|
|||
|
||||
Izuver |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 352 Регистрация: 13.6.2006 Где: Омск Репутация: 2 Всего: 2 |
Если скажем, что в А1 у тебя стоит "заранее установленная дата" (например: 21.11.2005), А2 - та ячейка котторая должна мигать. Используй "Условное форматирование" с такими условиями в А2: Условие1: =ЕСЛИ(A1=СЕГОДНЯ();ОСТАТ(СЕКУНДЫ(ТДАТА())/4;1)=0) Условие2: =ЕСЛИ(A1=СЕГОДНЯ();ОСТАТ(СЕКУНДЫ(ТДАТА())/4;1)=0,25) Условие3: =ЕСЛИ(A1=СЕГОДНЯ();ОСТАТ(СЕКУНДЫ(ТДАТА())/4;1)=0,5) применяя к каждому условию разный цвет, то тогда как только с файлом будут работать, ячейка будет иметь каждую секунду 4 разных цвета. Так она будет работать сутки, которые указаны в А1. Если необходимо отключить ее руками, то скажем в В1 можно выставлять 1 или 0 и условия поменяется на: Условие1: =ЕСЛИ(И(A1=СЕГОДНЯ();B1=0);ОСТАТ(СЕКУНДЫ(ТДАТА())/4;1)=0) Условие2: =ЕСЛИ(И(A1=СЕГОДНЯ();B1=0);ОСТАТ(СЕКУНДЫ(ТДАТА())/4;1)=0,25) Условие3: =ЕСЛИ(И(A1=СЕГОДНЯ();B1=0);ОСТАТ(СЕКУНДЫ(ТДАТА())/4;1)=0,5) |
|||
|
||||
blast99 |
|
||||
![]() сисадмин ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 3.5.2005 Где: Россия, г. Ставро поль Репутация: нет Всего: 3 |
В меню: Вид\Панели инструментов\Элементы управления. В появившейся панели нажимаешь - "Исходный текст". В появившимся окне кода, сверху, есть два выпадающих списка - Object и Procedure. Object - это к какому объекту ты будешь описывать действия, а Procedure - это при каком собитии/случае код будет выполняться. В первом списке выбрать Worksheet а во втором событие к-е тебе удобно. Судя по твоему описание лучше подходит - Active(при загрузке, при становлении листа активным). Ну а далее что-то типа этого:
Это сообщение отредактировал(а) blast99 - 27.9.2006, 08:18 --------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей. |
||||
|
|||||
blast99 |
|
|||
![]() сисадмин ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 3.5.2005 Где: Россия, г. Ставро поль Репутация: нет Всего: 3 |
Только, что вычитал, что можно перейти в редатор нажитием комбинации кнопок Alt+F11? т.е. без нажимания на "исходный текст"...
![]() Это сообщение отредактировал(а) blast99 - 27.9.2006, 09:29 --------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей. |
|||
|
||||
Алекасандр |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 26.9.2006 Репутация: нет Всего: нет |
а нельзя сделать чтобы именно ячейка А1 в которой стоит ДАТА 27.09.06 начала мигать а не другая ячейка?
Добавлено @ 15:38 вопрос к Михаилу! вчера ты мне показал как отформатировать ячейку по Дате. Есть проблема! Если я копирую ту ячейку,которую ты прислал в рабочую учетную таблицу-она тут же у меня начинает врать безбожно-либо сразу меняет цвет либо ничего не делает. В общем не работает .В чем дело? Может у меня там какое то автоформатирование стоит. Кстати таблица является общей для нескольких компов-может в этом дело. Добавлено @ 15:41 Изувер и Бласт 99 ! Огромное Спасибо! Попробую сделать! |
|||
|
||||
Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: 13 Всего: 27 |
Рекомендую зайти Панель управления-Формат -Условное форматирование.
Izuver Опробовать времени нет,интересное решение ![]() -------------------- Возмездие настигнет |
|||
|
||||
blast99 |
|
||||
![]() сисадмин ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 3.5.2005 Где: Россия, г. Ставро поль Репутация: нет Всего: 3 |
Не понял вопроса. ![]() Ты хочешь код для мигания ячейки или код поиска нужной ? А строка:
И так меняет именно ячейку A1. Это лишь пример, как обратиться к определенной ячейке. Разъясни, что ты хочешь? Найти определенную ячейку и заставить ее мигать, взяв искомое значение из другой ячейки? ![]() --------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей. |
||||
|
|||||
blast99 |
|
|||
![]() сисадмин ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 3.5.2005 Где: Россия, г. Ставро поль Репутация: нет Всего: 3 |
Кстати, вот код чтобы manager далеко не лез менять цвет, а просто дважды кликнул по ячейке и она "погасла":
Можешь так же использовать ActiveCell.ClearFormats, если удобно. Ну и конечно можно добавить своих условий. --------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей. |
|||
|
||||
Алекасандр |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 26.9.2006 Репутация: нет Всего: нет |
Сделал. Но не пойму - иногда работает иногда нет.Где-то ошибка.Особенно если эту ячейку , в которой прописана ДАТА скопируешь из одного документа и вставляешь в другой.Либо перестает реагировать, либо сразу начинает моргать.
Может кто-нибудь прислать нормально работающую ячейку уже в Ехселе ? Буду очень признателен. А я испытаю ее работу в рабочих документах -там надо контролировать по ДАТЕ порядка нескольких сотен позиций. [email protected] |
|||
|
||||
RockClimber |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре Репутация: 7 Всего: 15 |
Если мигание ячейки прописано в макросе, то в другую книгу Excel нужно копировать не только ячейку, но и макрос тоже. А если моргание прописано в формуле, а формула - в копируемой ячейке, то тогда вполне возможно неадекватрое поведение. Как вариант - сохранить текст макроса в файле personal.xls, а в ячейку вставлять уже формулу из этого макроса.
-------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
|||
|
||||
Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: 13 Всего: 27 |
-------------------- Возмездие настигнет |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Программирование, связанное с MS Office" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |