Условное форматирование-цветовая шкала всей строки на основе одного столбца
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иFilltab. Теперь вам нужно решить, какой цвет фона вы хотите для выбранного вами номера продаж. Вы также можете выбрать другие параметры форматирования, такие как цвет шрифта, и т. д. - нажмите 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. Вы выбираете опцию указания собственной формулы, и вы можете ссылаться на ячейку (заблокировать столбец с помощью"$"), отличную от той, которую вы хотите выделить.
