Условное форматирование-цветовая шкала всей строки на основе одного столбца
4 ответов
Если я правильно понял вас, я боролся с той же проблемой. То есть форматировать целые строки на основе значений в одном столбце, где значения были отформатированы с помощью цветовых шкал Excel.
Я нашел это действительно смешно простое решение, которое включает в себя копирование цветовых ячеек в word, а затем обратно в excel, после чего вы можете удалить значения и заменить их любыми значениями, которые вы хотите, не изменяя формат:
все кредиты пользователю Raystafarian
Я нашел свойство Range.DisplayFormat.Interior.Color
в этой в должности, в Mrexcel. Используя это свойство я смог получить цвет условно-формат ячейки и использовать его для других строк. Уловка в том, что он работает только в excel 2010. У меня есть excel 2010, поэтому он работал для меня.
Вот точный код -
For i = rowStart To rowEnd
For j = columnStart To columnEnd
Cells(i, j).Interior.Color = Cells(i, 4).DisplayFormat.Interior.Color
Next
Next
вам не нужно VBA, чтобы сделать это, на самом деле.
следует иметь в виду, что вы не сможете достичь желаемого поведения с помощью одного правила условного форматирования; вам нужно будет иметь отдельное правило для каждого определения цвета строки на основе продаж. Второе: я обнаружил, что гораздо проще добиться желаемого поведения условного форматирования в Excel, используя именованные диапазоны для правил вместо обычных формул.
С этими вопросами в выполните следующие действия, чтобы создать именованный диапазон, а затем создать правила условного форматирования.
- во-первых, выберите первую ячейку продаж на листе (верхняя строка)
- далее, дайте ячейке имя, "продажи". Для этого нажмите Ctl+F3 или выберите
Formulas
->Name Manager
на ленте. ВыберитеNew..
. ВName:
enterSALES
иRefers to:
enter=$XN
где X-столбец первой ячейки продаж, а N-номер строки. УдарEnter
. - теперь выберите весь диапазон ячеек, который вы хотите показать это поведение
- выберите
Home
->Conditional Formatting
->New Rule...
- выберите
Use a Formula to Determine Which Cells to Format
и вводим=SALES=number
где номер-номер продажи, который вы хотите вызвать цвет - выберите
Format
иFill
tab. Теперь вам нужно решить, какой цвет фона вы хотите для выбранного вами номера продаж. Вы также можете выбрать другие параметры форматирования, такие как цвет шрифта, и т. д. - нажмите OK, OK, OK. Повторите шаги с 3 по 6 для каждой комбинации цифра/цвет продаж вы хотите. Если вы хотите цвет для "все продажи меньше X", в вашем правиле вы введете
=SALES<number
(=AND(SALES<=CEILING, SALES>=FLOOR), где потолок и пол-верхняя и нижняя границы. Если вы хотите цвет для "всех продаж больше, чем X", вы можете сделать=SALES>number
.
EDIT:
чтобы упростить ввод условных формул, вы можете использовать функцию" остановить, если True". Перейти к Home
->Conditional Formatting
->Manage Rules
, и в раскрывающемся меню выберите This Worksheet
. Теперь вы увидите список всех правил, которые применяются к вашему листу, и справа от каждого правила будет флажок" остановить, если True".
для каждого правила цвета строки установите флажок "остановить, если True". Теперь ваши формулы могут быть как это (только для примера):
-
=Sales>25
за зеленое правило -
=Sales>10
на желтый норма -
=Sales>0
для красного правила
Etc, вместо этого:
-
=AND(Sales>0,Sales<=10)
для красного правила -
=AND(Sales>10,Sales<=25)
на желтый норма -
=Sales>25
за зеленое правило
на Stop If True
box означает, что после применения правила форматирования к ячейка, эта ячейка не будет отформатирована снова на основе любых других правил, которые применяются к ней. Обратите внимание, это означает, что порядок правил имеет значение при использовании Stop If True
.
вы можете сделать это со стандартным меню условного форматирования, нет необходимости в VBA. Вы выбираете опцию указания собственной формулы, и вы можете ссылаться на ячейку (заблокировать столбец с помощью"$"), отличную от той, которую вы хотите выделить.