Суть проблемы в том, что нужно сделать построчное форматирование ячеек цветовой индикацией Ячейка должна окрашиваться в соответствующий цвет если она больше или меньше чем половина соответствующего числа ЗАписал макрос, загнал его в цикл, как сделать чтобы ссылка на число в формуле в строке тоже менялась? Чтобы сравнение было с каждым числом в строке Этот макрос выполняется но он сравнивается с ячейкой указанной в формуле HELP ME?
[vba]
Код
Sub Ìàãíèò() ActiveSheet.DisplayPageBreaks = False lr = Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To 100 Range(Cells(i, 2), Cells(i, 36)).Select Selection.FormatConditions.AddColorScale ColorScaleType:=2 Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _ xlConditionValueFormula Selection.FormatConditions(1).ColorScaleCriteria(1).Value = _ "='Ðàñ÷åò ÆÊÑ Îáúåìû'!$B$2+('Ðàñ÷åò ÆÊÑ Îáúåìû'!$B$2/2)" With Selection.FormatConditions(1).ColorScaleCriteria(1).FormatColor .Color = 255 .TintAndShade = 0 End With Selection.FormatConditions(1).ColorScaleCriteria(2).Type = _ xlConditionValueFormula Selection.FormatConditions(1).ColorScaleCriteria(2).Value = _ "='Ðàñ÷åò ÆÊÑ Îáúåìû'!$B$2+('Ðàñ÷åò ÆÊÑ Îáúåìû'!$B$2/2)" With Selection.FormatConditions(1).ColorScaleCriteria(2).FormatColor .Color = 5287936 .TintAndShade = 0 End With Next i End Sub
[/vba]
Суть проблемы в том, что нужно сделать построчное форматирование ячеек цветовой индикацией Ячейка должна окрашиваться в соответствующий цвет если она больше или меньше чем половина соответствующего числа ЗАписал макрос, загнал его в цикл, как сделать чтобы ссылка на число в формуле в строке тоже менялась? Чтобы сравнение было с каждым числом в строке Этот макрос выполняется но он сравнивается с ячейкой указанной в формуле HELP ME?
[vba]
Код
Sub Ìàãíèò() ActiveSheet.DisplayPageBreaks = False lr = Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To 100 Range(Cells(i, 2), Cells(i, 36)).Select Selection.FormatConditions.AddColorScale ColorScaleType:=2 Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _ xlConditionValueFormula Selection.FormatConditions(1).ColorScaleCriteria(1).Value = _ "='Ðàñ÷åò ÆÊÑ Îáúåìû'!$B$2+('Ðàñ÷åò ÆÊÑ Îáúåìû'!$B$2/2)" With Selection.FormatConditions(1).ColorScaleCriteria(1).FormatColor .Color = 255 .TintAndShade = 0 End With Selection.FormatConditions(1).ColorScaleCriteria(2).Type = _ xlConditionValueFormula Selection.FormatConditions(1).ColorScaleCriteria(2).Value = _ "='Ðàñ÷åò ÆÊÑ Îáúåìû'!$B$2+('Ðàñ÷åò ÆÊÑ Îáúåìû'!$B$2/2)" With Selection.FormatConditions(1).ColorScaleCriteria(2).FormatColor .Color = 5287936 .TintAndShade = 0 End With Next i End Sub
И Правила форума прочитать (там, где про теги написано, для кода макроса кнопочка обтегивания - #) А чтобы нормально вставлялось - копируйте код из VBA, находясь там в это время в русской раскладке
И Правила форума прочитать (там, где про теги написано, для кода макроса кнопочка обтегивания - #) А чтобы нормально вставлялось - копируйте код из VBA, находясь там в это время в русской раскладке_Boroda_
все не сложно, но ждем исправления замечаний от _Boroda_ .
[p.s.] а нужен ли скрип??? Всеж можно сделать и так простым УФ, это еще и лучше, дабы не плодить сотни УФ. При равенстве значения половине среднего -БИНГО Зажигать?
kirill40021,
все не сложно, но ждем исправления замечаний от _Boroda_ .
[p.s.] а нужен ли скрип??? Всеж можно сделать и так простым УФ, это еще и лучше, дабы не плодить сотни УФ. При равенстве значения половине среднего -БИНГО Зажигать?bmv98rus
Замечательный Временно просто медведь , процентов на 20.
Сообщение отредактировал bmv98rus - Вторник, 31.01.2017, 11:53
Вам не нужен макрос а просто правильное УФ (условное форматирование) в приложении. Этот ваиант можно конечно искриптом делать, но зачем?
Ну а уж если хотите чтоб Excel был перегружен сотней другой условных форматов, то формулу записывать надо поставлля нужны адрес, или нобирая его строкой [vba]
[offtop]Pelena, это я так над собой работаю, а то Александр ругал сильно :-) , а мне стыдно.[/offtop]
kirill40021,
Вам не нужен макрос а просто правильное УФ (условное форматирование) в приложении. Этот ваиант можно конечно искриптом делать, но зачем?
Ну а уж если хотите чтоб Excel был перегружен сотней другой условных форматов, то формулу записывать надо поставлля нужны адрес, или нобирая его строкой [vba]
bmv98rus, Хорошо, если я просто УФ использую, как мне сделать чтобы УФ распространилось на все строки? Так как числа для сравнения в каждой строке меняются, а УФ можно сделать только для конкретного числа, либо строки То, что вы скинули работает не верно! Мне нужно цветовое ранжирование в зависимости от среднего числа в столбце В, А оно ранжирует по двум цветам, так еще и не верно, цвет не зависит от столбца B А ячейки должны окрашиваться в соответствующий цвет в зависимости от отличия числа в СООТВЕТСТВУЮЩЕЙ строке столбце В
bmv98rus, Хорошо, если я просто УФ использую, как мне сделать чтобы УФ распространилось на все строки? Так как числа для сравнения в каждой строке меняются, а УФ можно сделать только для конкретного числа, либо строки То, что вы скинули работает не верно! Мне нужно цветовое ранжирование в зависимости от среднего числа в столбце В, А оно ранжирует по двум цветам, так еще и не верно, цвет не зависит от столбца B А ячейки должны окрашиваться в соответствующий цвет в зависимости от отличия числа в СООТВЕТСТВУЮЩЕЙ строке столбце Вkirill40021
kirill40021, Попробуйте еще раз сформулировать правило окрашивания, т.к. я Вас понял абсолютно так же, как и bmv98rus [p.s.] Посмотрел Вашу формулу в УФ, там двухцветная шкала, НО минимальное значение и максимальное равны!!! Смысл? Закрасьте пару ячеек руками для примера
kirill40021, Попробуйте еще раз сформулировать правило окрашивания, т.к. я Вас понял абсолютно так же, как и bmv98rus [p.s.] Посмотрел Вашу формулу в УФ, там двухцветная шкала, НО минимальное значение и максимальное равны!!! Смысл? Закрасьте пару ячеек руками для примераsboy
Яндекс: 410016850021169
Сообщение отредактировал sboy - Вторник, 31.01.2017, 16:21
sboy, Есть расходы по дням, есть средний расход в ячейке B (каждая строка это конкретный прибор учета) Нужно: видеть дни когда расход отличается более чем в половину среднего расхода. Например: 5 3 8 - средний 5,3 Так вот если расход Больше или меньше чем 5.3+/-(5.3/2) то ячейка имеет максимальный окрас а все что ближе к среднему средний окрас между цветами. Лучше конечно, чтоб те что близки к среденему вообще не окрашивались
sboy, Есть расходы по дням, есть средний расход в ячейке B (каждая строка это конкретный прибор учета) Нужно: видеть дни когда расход отличается более чем в половину среднего расхода. Например: 5 3 8 - средний 5,3 Так вот если расход Больше или меньше чем 5.3+/-(5.3/2) то ячейка имеет максимальный окрас а все что ближе к среднему средний окрас между цветами. Лучше конечно, чтоб те что близки к среденему вообще не окрашивалисьkirill40021