Я хочу настроить автоматическое форматирование для своей таблицы данных Excel.
Вот, имеют пример (не мой):
Как я могу автоматически отформатировать строки в зависимости от одного из значений его ячейки, которое не является числом и не пишущий много кода?
Я видел, что "Условное форматирование" с масштабом раскрашивает Excel 2007. Я хотел бы что-то как этот: каждое текстовое значение связывается с одним цветом. Что-то как в картографии с теорией 3 цветов...
Просто пойдите Format|Conditional Formatting
и сделайте Cell Value is equal to Hold
и дайте то желтое форматирование. Затем сделайте то же для Прогресса. Я упускаю суть?
Править: Четыре цветных теоремы не работают в этом случае. У Вас могли очевидно быть сотни цветов, поэтому если Вы не выбираете каждого (Вы не используете числовые значения, таким образом, Вы не можете использовать числа для решения), я не думаю, что это работало бы.
Можно записать формулу, которая возвращается 0 или 1 в зависимости от того, находит ли она критерии. Затем создайте несколько условное форматирование для того же диапазона, который использует вывод формулы. Кроме того, сделайте формулу более сложной и имейте ее, возвращаются 0,1.... n для представления полного состояния (того, которое имеет "Y", не имеет "x", имеет "z"). Снова, используйте перекрывающееся условное форматирование. Также используйте названные диапазоны!
Ваш вопрос немного неоднозначен, таким образом, я попробую за каждую опцию..
1) Если Вы хотите отформатировать строку на основе значения ячейки... Вам немного не повезло. Можно только отформатировать ячейку на основе ее значения, поэтому при выборе строки... это - значения в строке, на которой Вы основываете ее. Единственным путем я знаю о выполнении, это было бы некоторым VBA, кодирующим - у других может быть предложение все же.
2) Если Вы хотите отформатировать ячейку по-другому на основе текста в нем... выбирают ячейку, перейдите к формату-> условное форматирование. Выберите ту же ячейку в условном термине. Оставьте условие, как "Значение ячейки", и укажите формат для использования на основе того текста. Можно затем добавить больше условий для каждого потенциального текстового значения.
Я отвечаю на свой собственный вопрос для регистрации некоторого кода VBA:
Sub COLOR(area As Range)
Dim c As Range
Dim a As Long
Dim v As Variant
Dim values As Variant
values = DistinctValues(area)
a = 0
For Each v In values
a = a Mod 6 + 1
FindAll(area, v, LookIn:=xlValues, LookAt:=xlWhole).EntireRow.SpecialCells(xlCellTypeConstants).Interior.ThemeColor = a + 4
Next
End Sub
Можно найти реализацию FindAll и DistinctValue.
Я знаю, что код быстр и грязен, как VBA.:-p
Некоторое объяснение
Range.Interior.ThemeColor
свойства Excel 2007 для установки цвету некоторым набором цветов темы.a Mod 6 + 1
и a + 4
использование должно выбрать между 6 цветами (Диакритический знак [1-6]) от 12 из темы.Range.EntireRow.SpecialCells(xlCellTypeConstants)
возвращает целое с ячейками содержания строки. area
диапазон, где дубликаты.