|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.05.2010, 02:00 | #1 |
Пользователь
Регистрация: 13.04.2010
Сообщений: 17
|
Построение "шахматки" в Excel
Всем привет! Такая вот задача: Есть перечень работ со сроком начала и окончания. Срок начала может совпадать с началом месяца, а может и не совпадать. Срок окончания, как правило - последний день месяца. Нужно построить по-месячную шахматку с условием: Если анализируемый месяц совпадает с первым, пусть даже и не полным, то в соотв. ячейку ставим 2, если с последним, то 0, если промежуточный - то 1. И закрашиваем, скажем зеленым. Если месяц не попадает во временной интервал - ставим 0 и заливаем желтым.
Проблема, собственно, вот в чем: Если первый месяц не полный -например 15.04.2010 - он у меня не анализируется. Почему: когда я присваиваю переменной значение месяца из ячейки шахматки - апр.2010 - переменная становится 01.04.2010. И соответственно, условие проверки не выполняется. Че-то никак не соображу, как это вылечить, но чувствую, что ответ где-то на поверхности. Подскажите пожалуйста. Файл во вложении. |
13.05.2010, 10:35 | #2 |
Форумчанин
Регистрация: 24.06.2008
Сообщений: 516
|
Поставь в макросе значения Date_on - 1 число месяца, а Date_of - последнее.
Например так: Код:
Или второй вариант раздели переменные и сравнивай отдельно месяц и год.
Можно сделать все! Было бы время, да деньги...
|
13.05.2010, 11:07 | #3 |
Пользователь
Регистрация: 13.04.2010
Сообщений: 17
|
mchip, спасибо за подсказку. Я сам тут накрутил такой вариант:
If (Day(Data_on)) > 1 Then Data_on = DateAdd("d", (Day(Data_on) - 1) * (-1), Data_on) Но Ваш намного проще. |
13.05.2010, 11:39 | #4 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
посмотрите на такую шахматку.
вместо 01.05.2010 можно указать первое число другого месяца - получите шахматку на соответствующий месяц. Обратите внимание формула для 5-й строки работ отличается от 4-х предыдущих - в ней изменен порядок проверки для случая, когда работы начинаются и заканчиваются одним месяцем для 4-й строки пишется 2, для 5-й - 0. Т.е. можно по всему файлу использовать формулу с 4-й строки, а можно из 5-й.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |
настроить при открытии Excel 2003 в окошке "Тип файлов" вывод пункта "Все файлы (*.*)" по умолчанию? | Unior | Microsoft Office Excel | 2 | 01.03.2009 02:42 |
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) | Dorvir | Microsoft Office Excel | 2 | 28.03.2008 10:03 |