Доброго дня! Может быть кто сталкивался с таким - есть большое количество строк данных. Данные внесены в 6 столбцов. Очень нужен макрос, который, при внесении в новую строку новых данных, будет присваивать каждой ячейке строгий цвет. Самое крупное значение в новой строке - зеленый, второе значение - светло-синий, третье значение - желтый, четвертое значение - оранжевый, пятое значение - красный, шестое значение - без заливки. Пример во вложении. Условное форматирование не подходит так как присваивает цвета с очень похожими оттенками (нет контраста у ячеек с незначительно различающимися значениями), а при создании правил можно использовать только трехцветную шкалу.
Доброго дня! Может быть кто сталкивался с таким - есть большое количество строк данных. Данные внесены в 6 столбцов. Очень нужен макрос, который, при внесении в новую строку новых данных, будет присваивать каждой ячейке строгий цвет. Самое крупное значение в новой строке - зеленый, второе значение - светло-синий, третье значение - желтый, четвертое значение - оранжевый, пятое значение - красный, шестое значение - без заливки. Пример во вложении. Условное форматирование не подходит так как присваивает цвета с очень похожими оттенками (нет контраста у ячеек с незначительно различающимися значениями), а при создании правил можно использовать только трехцветную шкалу.Manner
Условное форматирование не подходит так как присваивает цвета с очень похожими оттенками (нет контраста у ячеек с незначительно различающимися значениями)
Что-то странное Вы пишите. Какой назначите цвет, такой и будет. Делаете 5 правил, для каждого значения в формуле
Условное форматирование не подходит так как присваивает цвета с очень похожими оттенками (нет контраста у ячеек с незначительно различающимися значениями)
Что-то странное Вы пишите. Какой назначите цвет, такой и будет. Делаете 5 правил, для каждого значения в формуле
Option Base 1 Sub Pokrasit() 'Выделить шесть ячеек для раскраски Set rRange = Selection If rRange.Count <> 6 Then Exit Sub arrColors = Array(5287936, 15773696, 65535, 49407, 255, 16777215) On Error Resume Next 'goto errH ' если в ячейке текст или пусто Resume красит в цвет предыдущей ячейке For Each cl In rRange.Cells q = WorksheetFunction.Rank(cl.Value, rRange) cl.Interior.Color = arrColors(q) Next Exit Sub 'errH: 'Err.Clear 'MsgBox "Что-то пошло не так... Должно быть выделено шесть ячеек с числами" End Sub
[/vba] Обработку ошибок выбирайте сами
Добрый день. [vba]
Код
Option Base 1 Sub Pokrasit() 'Выделить шесть ячеек для раскраски Set rRange = Selection If rRange.Count <> 6 Then Exit Sub arrColors = Array(5287936, 15773696, 65535, 49407, 255, 16777215) On Error Resume Next 'goto errH ' если в ячейке текст или пусто Resume красит в цвет предыдущей ячейке For Each cl In rRange.Cells q = WorksheetFunction.Rank(cl.Value, rRange) cl.Interior.Color = arrColors(q) Next Exit Sub 'errH: 'Err.Clear 'MsgBox "Что-то пошло не так... Должно быть выделено шесть ячеек с числами" End Sub