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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2015, 11:15   #1
Sanden
Пользователь
 
Регистрация: 29.01.2013
Сообщений: 30
По умолчанию Как сделать выделение ячейки по условиям совпадения

Добрый день уважаемые форумчане.
есть попытка сделать табличку для секретарей, которые составляют расписание.
С учетом того, что у меня три переменных - Дата, время и место, то мне показалось, что самым удачным будет решение, когда при выборе даты, в графике (календаре) отображается место и время занятости.
Почти все хорошо, и работает, но никак не могу придумать, как сделать так, что бы в случае накладки времени на графике у меня показывался бы какой то предупреждающий символ. например слово "Совпадение"

Помогите пожалуйста, а?
Вложения
Тип файла: zip пример.zip (14.2 Кб, 8 просмотров)
Sanden вне форума Ответить с цитированием
Старый 07.04.2015, 11:50   #2
27102014
Форумчанин
 
Регистрация: 27.10.2014
Сообщений: 248
По умолчанию

Попробуйте сделать процедуру для листа
Код:
Sub Ошибка()
Z = "ОШИБКА"

For Each a In Range("L3:L100")
On Error Resume Next
If a = Z Then a.Interior.Color = 3407718 And MsgBox("Ошибка")

Next
27102014 вне форума Ответить с цитированием
Старый 07.04.2015, 11:59   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 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.
IgorGO вне форума Ответить с цитированием
Старый 07.04.2015, 12:02   #4
Sanden
Пользователь
 
Регистрация: 29.01.2013
Сообщений: 30
По умолчанию

а не макросом можно?
а то я даже не знаю, как сделать "процедуру для листа"
Sanden вне форума Ответить с цитированием
Старый 07.04.2015, 12:14   #5
Sanden
Пользователь
 
Регистрация: 29.01.2013
Сообщений: 30
По умолчанию

IgorGo, спасибо за ответ!
У меня была мысль сделать с помощью сводных таблиц. Там почти как вы описываете, просто вместо названия мероприятия показывает их кол-во, что в общем то тоже не страшно.
Но это никак не помогает мне увидеть пересечение (накладки), а я, к сожалению, охотно верю в непробиваемость секретарей, и они на календарь будут смотреть уже в конце месяца, когда все понабили на следующий месяц. (это кстати мой второй вариант, когда в левом углу выбирается не дата, а место, и тогда шахматка покажет как занят определенный стол в течении месяца, я просто не стал впихивать в пример, дабы не усложнять, надеялся что разберусь по аналогии)
и вот именно поэтому лично мне или кому то другому контролирующему лицу. было бы проще смотреть сразу на шахматку и не вчитываясь видеть, что мол наворотили вы тут, милейшие секретари...
Sanden вне форума Ответить с цитированием
Старый 07.04.2015, 12:23   #6
27102014
Форумчанин
 
Регистрация: 27.10.2014
Сообщений: 248
По умолчанию

Правый щелчек мыши на листе либо нажатие кнопки
Вложения
Тип файла: zip бронирование переговорных.zip (17.3 Кб, 7 просмотров)
27102014 вне форума Ответить с цитированием
Старый 07.04.2015, 12:31   #7
Sanden
Пользователь
 
Регистрация: 29.01.2013
Сообщений: 30
По умолчанию

Цитата:
Сообщение от 27102014 Посмотреть сообщение
Правый щелчек мыши на листе либо нажатие кнопки
Спасибо, но нет, не совсем!
Мне не там нужно выделение, а на листе 1 там где график строится....
Sanden вне форума Ответить с цитированием
Старый 07.04.2015, 12:38   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 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 - соприкасаются
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 07.04.2015, 12:43   #9
Sanden
Пользователь
 
Регистрация: 29.01.2013
Сообщений: 30
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
понимаете...
Спасибо! Мне нечего больше добавить
Sanden вне форума Ответить с цитированием
Старый 08.04.2015, 13:56   #10
Sanden
Пользователь
 
Регистрация: 29.01.2013
Сообщений: 30
По умолчанию

В процессе тестирования, оказалось, что я все таки не так понял.
Как вы можете увидеть в приложенном файле примере, на листе "Основной", есть таблица заполняемая человеком. там есть проверка, которая показывает пересечения, и все работает отлично.
Так же все еще есть лист "Сетка_Место", где рисуется все то, что внесено в основную таблицу.
и все было бы здорово и отлично, но вдруг обнаружился неприятный баг, который я совершенно не знаю как победить.
если вдруг на одно и тоже место, поставить одно и тоже время (или даже просто пересекающиеся), при этом ставить разные числа, то с точки зрения логики и проверки - все нормально. но на листе "Сетка_Место", это вдруг перестает рисоваться.
ЧТО, ЧТО, ЧТО я сделал не так?
Вложения
Тип файла: zip пример.zip (29.9 Кб, 11 просмотров)
Sanden вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать условное форматирование строки по нескольким условиям в выбранном диапазоне ? 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