Страницы: 1
RSS
Заливка строки по формуле
 
Подскажите, как в Excel 2003 можно реализовать подсветку строк по формуле. На листе имеется календарь с использованием формулы =ДЕНЬНЕД соответственно нужно, чтоб при выводе в ячейке выходных дней рабочие поля заливались красным цветом. Использовать условное форматирование нельзя т.к. три условия уже используются.
 
Тогда макросом.
 
{quote}{login=Юрий М}{date=10.11.2010 01:30}{thema=}{post}Тогда макросом.{/post}{/quote}  
А без макросов нельзя? С макросами пока не дружу. Что-то вроде этого: Если в ячейке A1 значение 6 или 7, то залить ячейку красным иначе ничего не предпринимать. Извините если вопрос совсем дурацкий.
 
а как иначе вы хотите?)  
нету тукой формулы как ЗАЛИТЬЯЧЕЙКУ)  
оптимизируйте условное форматирование, может можно обойтись меньшим количеством условий или обьеденить существующие.
 
{quote}{login=Димон}{date=10.11.2010 07:11}{thema=}{post}может можно обойтись меньшим количеством условий или обьеденить существующие.{/post}{/quote}  
 
Как можно объединить условия, одной формулой, чтоб ячейка заливалась в три разных цвета?  
 
Подскажите как решить задачу в помощью макроса. Желательно с кодом.
 
Вот макросом. Поочередно вводите в ячейку А1 значения 1, 2, 3.
 
{quote}{login=Юрий М}{date=12.11.2010 01:32}{thema=}{post}Вот макросом. Поочередно вводите в ячейку А1 значения 1, 2, 3.{/post}{/quote}  
 
Спасибо. Что нужно прописать, чтоб залить не только ячейку A1, а строку А1:А10?
 
Вместо:  
Target.Interior.ColorIndex = ...  
напишите:  
Range(Target, Target.Offset(0, 9)).Interior.ColorIndex = ...
 
{quote}{login=Юрий М}{date=12.11.2010 02:14}{thema=}{post}Вместо:  
Target.Interior.ColorIndex = ...  
напишите:  
Range(Target, Target.Offset(0, 9)).Interior.ColorIndex = ...{/post}{/quote}  
 
Юрий, спасибо. При вводе значаний руками макрос работает, однако не срабатывает если значение получается выводом функции =ДЕНЬНЕД. Как это можно исправить?
 
Формулой
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
{quote}{login=Владимир}{date=12.11.2010 04:03}{thema=}{post}Формулой{/post}{/quote}  
Не получится. Нужно залить не одну ячейку, а всю строку. Причем если в первом поле условное форматирование можно использовать, то в следующих 9 оно уже использовано.
 
Выделите диапазон, зайдите в условное форматирование и вставьте формулу:  
=ЕСЛИ(ИЛИ(ДЕНЬНЕД($B7;2)=6;ДЕНЬНЕД($B7;2)=7);ИСТИНА) и всё получится.  
 
--  
39395
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
{quote}{login=Dave}{date=12.11.2010 03:50}{thema=Re: }{post}{quote}{login=Юрий М}{date=12.11.2010 02:14}{thema=}{post}{/post}{/quote}при вводе значаний руками макрос работает, однако не срабатывает если значение получается выводом функции =ДЕНЬНЕД. Как это можно исправить?{/post}{/quote}  
Можно попробовать использовать событие листа Calculate
 
{quote}{login=Владимир}{date=12.11.2010 05:05}{thema=}{post}Выделите диапазон, зайдите в условное форматирование и вставьте формулу:  
=ЕСЛИ(ИЛИ(ДЕНЬНЕД($B7;2)=6;ДЕНЬНЕД($B7;2)=7);ИСТИНА) и всё получится.  
 
Работает, но сбросилось условное форматирование подсвечивающее значения в полях. При выборе +, !, !!!
 
Если у Вас 2007 Excel, то нужно добавить четвёртое условие, если 2003 тут только 3 условия может быть.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
{quote}{login=Владимир}{date=13.11.2010 10:48}{thema=}{post}Если у Вас 2007 Excel, то нужно добавить четвёртое условие, если 2003 тут только 3 условия может быть.{/post}{/quote}  
 
К сожалению только 2003. Я знаю, что 2007 поддерживвает до 64 условий
 
Так давайте внеплановый выезд (!!!) отметим как-то формулой. Если условия расскажете...
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
{quote}{login=Владимир}{date=13.11.2010 10:59}{thema=}{post}Так давайте внеплановый выезд (!!!) отметим как-то формулой. Если условия расскажете...{/post}{/quote}  
 
Думаю можно реализовать решение Ваше и Юрия. Макросом Юрия подсветить значения +,-,!,!!! тем самым обойти ограничение условного форматирования для 2003 офиса, а вашей формулой залить выходные.
 
{quote}{login=dave}{date=13.11.2010 11:08}{thema=Re: }{post}{quote}{login=Владимир}{date=13.11.2010 10:59}{thema=}{post}Так давайте внеплановый выезд (!!!) отметим как-то формулой. Если условия расскажете...{/post}{/quote}  
 
Думаю можно реализовать решение Ваше и Юрия. Макросом Юрия подсветить значения +,-,!,!!! тем самым обойти ограничение условного форматирования для 2003 офиса, а вашей формулой залить выходные.{/post}{/quote}  
 
Да так работает, но нужно произвести пересчет уже введенных значений. И найти кодирование цветов в VB.
 
Чтобы узнать индексы цветов, запустить этот макрос.  
===  
Sub AskColor()  
   For i = 1 To 56  
       Cells(i, 1).Interior.ColorIndex = i  
   Next  
End Sub  
===  
Номер строки и укажет на цветовой индекс.
 
{quote}{login=Юрий М}{date=13.11.2010 11:27}{thema=}{post}Чтобы узнать индексы цветов, запустить этот макрос.  
===  
Sub AskColor()  
   For i = 1 To 56  
       Cells(i, 1).Interior.ColorIndex = i  
   Next  
End Sub  
===  
Номер строки и укажет на цветовой индекс.{/post}{/quote}  
 
Юрий и Владимир, спасибо за Вашу помощь. Все получилось.
Страницы: 1
Читают тему
Наверх