Страница 1 из 1
Условное форматирование. Увеличение кол-ва условий
Добавлено: 16 мар 2005, 19:02
Дмитрий Д
Добрый день! У меня возникла следующая проблема.
Условное форматирование в Excell позволяет задать только 3 условия. Можно ли увеличить количество условий? И как это сделать?
Заранее спасибо
Добавлено: 17 мар 2005, 01:29
Naeel Maqsudov
Нельзя.
Можно только написать форматирующий макрос. Но его прийдется каждый раз запускать, чтобы он просканировал всю таблицу и отформатировал ее в соответствии с текущими значениями.
Если условное форматирование качается только цвета шрифта, то дополнительно к трем условиям из Условного форматирования можно использовать числовые форматы, но там тоже не более трех условий нанизывается.
Делаем Формат/Ячейки/Число/(все форматы) и в поле Тип пишем:
[Синий][<100]Основной;[Красный][<200]Основной;[Зеленый]Основной
Вместо "Основной" можно использовать друие форматы, напрмиер "0.00"
Добавлено: 17 мар 2005, 05:08
pashulka
Да, действительно более трёх условий при применении условного форматирования задать нельзя, но можно для разных дипазонов (как правило столбцов) задать разные параметры. В некоторых случаях это и есть выход из создавшегося положения.
P.S. Будем надеяться, что этот совет применим и к Вашему случаю.
Добавлено: 17 мар 2005, 16:35
Дмитрий Д
К сожалению, мне нужно для одного диапозона 6 условий. Причем, условия - это формулы ссылающиеся на другие ячейки
Добавлено: 01 апр 2005, 14:05
Дмитрий Д
Никак не могу понять, как сделать чтобы в макросе value показывал диапозон
У меня есть вот это
For myRow = 5 To 45
For myColumn = 5 To 18
If Worksheets("1").Cells(myRow, myColumn).Value = 1 Then
Worksheets("1").Cells(myRow, myColumn).Interior.ColorIndex = 6
End If
Но, я хочу, чтобы value был равен не 1, а диапозону от 1,2 до 5,6
Как это сделать?
Заранее спасибо
Добавлено: 01 апр 2005, 15:37
pashulka
Вы можете использовать примерно такой вариант, при желании и абсолютной уверенности что в исходном диапазоне находятся только числовые значения этот код можно сократить :
Код: Выделить всё
For Each iCell In Worksheets("1").Range("E5:R45")
If IsNumeric(iCell.Value) = True Then
If iCell.Value >= 1.2 And iCell.Value <= 5.6 Then
iCell.Interior.ColorIndex = 6
End If
End If
Next
Добавлено: 01 апр 2005, 15:51
Дмитрий Д
Спасибо