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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2009, 16:43   #1
peq
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 230
По умолчанию Различение и изменение цвета

можно ли логическими функциями Excel различать/задавать цвет различных ячеек?
грубо говоря =если(яч1=<цвет1>;<цвет2>;99), где "=<цвет1>" - проверка на цвет, <цвет2> - задание нового цвета

или только через макросы?
peq вне форума Ответить с цитированием
Старый 16.04.2009, 17:14   #2
Marchuk
Пользователь
 
Аватар для Marchuk
 
Регистрация: 27.03.2009
Сообщений: 78
По умолчанию

можно только макросами
Знание формул - Слабо; Знание макросов - Средне;

Оформляем воздушными шарами.
Marchuk вне форума Ответить с цитированием
Старый 16.04.2009, 17:19   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
можно ли логическими функциями Excel различать/задавать цвет различных ячеек?
Различать - вряд ли.
А вот назначить цвет ячейке в зависимости от условия - запросто.
Для этого есть условное форматирование
EducatedFool вне форума Ответить с цитированием
Старый 16.04.2009, 17:21   #4
peq
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 230
По умолчанию

очень жаль.. а не можете тогда сказать, какой будет синтаксис команд?
команды "узнать цвет ячейки", "узнать цвет шрифта", "присвоить цвет ячейки", "присвоить цвет шрифта"


EducatedFool
спасибо, сейчас займусь
peq вне форума Ответить с цитированием
Старый 16.04.2009, 17:26   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub Пример()
    Range("a1").Interior.Color = vbRed    ' красим ячейку в красный цвет
    Range("a3").Interior.ColorIndex = 3    ' красим ячейку в красный цвет (то же самое по сути)
    Range("a7").Interior.ColorIndex = 4    ' красим ячейку в зелёный цвет
    [a5] = "текст"
    Range("a5").Font.Color = vbCyan    ' красим ячейку в цвет Cyan
    MsgBox Range("a5").Font.ColorIndex    ' возвращает номер цвета шрифта
    MsgBox Range("a3").Interior.ColorIndex    ' возвращает номер цвета заливки ячейки
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 16.04.2009, 17:29   #6
Marchuk
Пользователь
 
Аватар для Marchuk
 
Регистрация: 27.03.2009
Сообщений: 78
По умолчанию

присвоить цвет ячейке
Код:
Selection.Interior.ColorIndex = 6
присвоить цвет шрифта
Код:
Selection.Font.ColorIndex = 3
различать
Код:
if(Selection.Font.ColorIndex = <цвет1>;Selection.Font.ColorIndex = <цвет2>;иначе)
Знание формул - Слабо; Знание макросов - Средне;

Оформляем воздушными шарами.
Marchuk вне форума Ответить с цитированием
Старый 16.04.2009, 17:38   #7
peq
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 230
По умолчанию

ясно, спасибо большое. буду разбираться
peq вне форума Ответить с цитированием
Старый 16.04.2009, 17:47   #8
peq
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 230
По умолчанию

EducatedFool
а вопрос такой, можно ли применить условное форматирование по условию? скажем, в зависимости от значения в ячейке2, задать у.ф. в ячейке3 по заданному правилу? или только руками пометить ячейки и тыркнуть "раскрасить"?
peq вне форума Ответить с цитированием
Старый 16.04.2009, 17:51   #9
mchip
Форумчанин
 
Регистрация: 24.06.2008
Сообщений: 516
По умолчанию

Можно! Так и делают. По условию в одной ячейке раскрашивают другие.
Можно сделать все! Было бы время, да деньги...
mchip вне форума Ответить с цитированием
Старый 16.04.2009, 19:31   #10
peq
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 230
По умолчанию

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

если тут все ясно, то задачу усложним. есть штук 50 начальных ячеек, все независимо друг от друга меняющиеся, к каждой привязано по некоторому множеству других ячеек. может ли эта задача быть решена одним у.ф. или надо их делать 50?

наверняка, это все можно было бы реализовать макросами, но никогда ими не занимался, а тратить на это 2-3 дня, ехать покупать книгу было бы очень плохо..

Последний раз редактировалось peq; 16.04.2009 в 19:35.
peq вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
БД + изменение цвета TDBCheckbox chel83 Помощь студентам 1 27.02.2009 11:58
Работа с DIB, изменение глубины цвета JOHNKZ1 Мультимедиа в Delphi 7 18.12.2008 06:52
ColorBar изменение цвета Vladya Помощь студентам 1 19.11.2008 10:09
Изменение цвета в Memo Кирилл13 Помощь студентам 3 15.11.2008 23:03
Изменение цвета Artem Общие вопросы Delphi 5 12.07.2007 09:07