|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.04.2015, 11:15 | #1 |
Пользователь
Регистрация: 29.01.2013
Сообщений: 30
|
Как сделать выделение ячейки по условиям совпадения
Добрый день уважаемые форумчане.
есть попытка сделать табличку для секретарей, которые составляют расписание. С учетом того, что у меня три переменных - Дата, время и место, то мне показалось, что самым удачным будет решение, когда при выборе даты, в графике (календаре) отображается место и время занятости. Почти все хорошо, и работает, но никак не могу придумать, как сделать так, что бы в случае накладки времени на графике у меня показывался бы какой то предупреждающий символ. например слово "Совпадение" Помогите пожалуйста, а? |
07.04.2015, 11:50 | #2 |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 248
|
Попробуйте сделать процедуру для листа
Код:
|
07.04.2015, 11:59 | #3 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
Лист1 - список мероприятий
Лист2 - план-схема не день лист1: 1. Название (мероприятия) 2. Место (выбор из общего списка) 3. Начало (вводить в полном формате 07.04.2015 11:00, показать можно только дату) 4. Продолжительность (в формате чч:мм) дальше пишете любые нужные Вам колонки значения в в кот. определяются (вычисляются) на основании данных из 4-х первых колонок: день неждели, время нач., время окончания (по 3 и 4) дальше: ставка, итого (по 2 и 4) отметка (об отсутсвии накладок по времени и месту) лист2: где-то в левом углу дата, по ней дополнительно показать день недели, месяц правее в первой строке шкала времени 9:00 10:00 11:00 в первой колонке список мест проведения мероприятий (он явл.списком для п.2 лист1) выбрав дату видим план-схему где на пересечениях времени и места вписано название мероприятия и тогда секретари, на листе 2, выбрав дату, видят план мероприятий на день, а глянув на план, заполняют первые четыре колонки на листе 1. как-то так видится данная задача
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
Последний раз редактировалось IgorGO; 07.04.2015 в 12:01. |
07.04.2015, 12:02 | #4 |
Пользователь
Регистрация: 29.01.2013
Сообщений: 30
|
а не макросом можно?
а то я даже не знаю, как сделать "процедуру для листа" |
07.04.2015, 12:14 | #5 |
Пользователь
Регистрация: 29.01.2013
Сообщений: 30
|
IgorGo, спасибо за ответ!
У меня была мысль сделать с помощью сводных таблиц. Там почти как вы описываете, просто вместо названия мероприятия показывает их кол-во, что в общем то тоже не страшно. Но это никак не помогает мне увидеть пересечение (накладки), а я, к сожалению, охотно верю в непробиваемость секретарей, и они на календарь будут смотреть уже в конце месяца, когда все понабили на следующий месяц. (это кстати мой второй вариант, когда в левом углу выбирается не дата, а место, и тогда шахматка покажет как занят определенный стол в течении месяца, я просто не стал впихивать в пример, дабы не усложнять, надеялся что разберусь по аналогии) и вот именно поэтому лично мне или кому то другому контролирующему лицу. было бы проще смотреть сразу на шахматку и не вчитываясь видеть, что мол наворотили вы тут, милейшие секретари... |
07.04.2015, 12:23 | #6 |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 248
|
Правый щелчек мыши на листе либо нажатие кнопки
|
07.04.2015, 12:31 | #7 |
Пользователь
Регистрация: 29.01.2013
Сообщений: 30
|
|
07.04.2015, 12:38 | #8 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
понимаете,
когда есть в одной строке начало 07.04.2015 10:00 и окончание 07.04.2015 12:00 (назовем Н1 и К1) а в другой начало 07.04.2015 11:00 и окончание 07.04.2015 12:00 (назовем Н2 и К2) вычислим персечение П = (Н2-К1)*(К2-Н1) если П < 0 - пересекаются П > 0 - НЕ пересекаются П = 0 - соприкасаются
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
07.04.2015, 12:43 | #9 |
Пользователь
Регистрация: 29.01.2013
Сообщений: 30
|
|
08.04.2015, 13:56 | #10 |
Пользователь
Регистрация: 29.01.2013
Сообщений: 30
|
В процессе тестирования, оказалось, что я все таки не так понял.
Как вы можете увидеть в приложенном файле примере, на листе "Основной", есть таблица заполняемая человеком. там есть проверка, которая показывает пересечения, и все работает отлично. Так же все еще есть лист "Сетка_Место", где рисуется все то, что внесено в основную таблицу. и все было бы здорово и отлично, но вдруг обнаружился неприятный баг, который я совершенно не знаю как победить. если вдруг на одно и тоже место, поставить одно и тоже время (или даже просто пересекающиеся), при этом ставить разные числа, то с точки зрения логики и проверки - все нормально. но на листе "Сетка_Место", это вдруг перестает рисоваться. ЧТО, ЧТО, ЧТО я сделал не так? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как сделать условное форматирование строки по нескольким условиям в выбранном диапазоне ? | oleg4224 | Microsoft Office Excel | 2 | 08.04.2014 01:11 |
Как убрать первоначальное выделение верхней левой ячейки (StringGrid)? | bakanaev | Общие вопросы Delphi | 5 | 14.08.2012 16:20 |
Как организовать поиск ячейки с определенным значением и выделение ее цветом | Arty_ | Microsoft Office Excel | 0 | 24.02.2012 07:00 |
Как убрать дефолтное выделение с первой ячейки StringGrid? | QuadroX | Помощь студентам | 2 | 19.05.2010 15:44 |
stringgrid,сравнение двух столбцов на совпадения и не совпадения | betirsolt | БД в Delphi | 7 | 19.01.2010 15:09 |