Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Построчное условное форматирование - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Построчное условное форматирование
kirill40021 Дата: Вторник, 31.01.2017, 10:17 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Суть проблемы в том, что нужно сделать построчное форматирование ячеек цветовой индикацией
Ячейка должна окрашиваться в соответствующий цвет если она больше или меньше чем половина соответствующего числа
ЗАписал макрос, загнал его в цикл, как сделать чтобы ссылка на число в формуле в строке тоже менялась? Чтобы сравнение было с каждым числом в строке
Этот макрос выполняется но он сравнивается с ячейкой указанной в формуле
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]


Сообщение отредактировал Pelena - Вторник, 31.01.2017, 15:14
 
Ответить
СообщениеСуть проблемы в том, что нужно сделать построчное форматирование ячеек цветовой индикацией
Ячейка должна окрашиваться в соответствующий цвет если она больше или меньше чем половина соответствующего числа
ЗАписал макрос, загнал его в цикл, как сделать чтобы ссылка на число в формуле в строке тоже менялась? Чтобы сравнение было с каждым числом в строке
Этот макрос выполняется но он сравнивается с ячейкой указанной в формуле
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]

Автор - kirill40021
Дата добавления - 31.01.2017 в 10:17
Timber_Wolf Дата: Вторник, 31.01.2017, 10:20 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 107
Репутация: 2 ±
Замечаний: 0% ±

Excel 2010
kirill40021, Эх без иероглифов бы... Например файл приложить? =)
 
Ответить
Сообщениеkirill40021, Эх без иероглифов бы... Например файл приложить? =)

Автор - Timber_Wolf
Дата добавления - 31.01.2017 в 10:20
_Boroda_ Дата: Вторник, 31.01.2017, 10:28 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 17006
Репутация: 6667 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
И Правила форума прочитать (там, где про теги написано, для кода макроса кнопочка обтегивания - #)
А чтобы нормально вставлялось - копируйте код из VBA, находясь там в это время в русской раскладке


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеИ Правила форума прочитать (там, где про теги написано, для кода макроса кнопочка обтегивания - #)
А чтобы нормально вставлялось - копируйте код из VBA, находясь там в это время в русской раскладке

Автор - _Boroda_
Дата добавления - 31.01.2017 в 10:28
kirill40021 Дата: Вторник, 31.01.2017, 10:42 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Прилагаю файлик, простите про правила, не читал(((( здесь недавно
К сообщению приложен файл: 4190977.xlsm (37.7 Kb)
 
Ответить
СообщениеПрилагаю файлик, простите про правила, не читал(((( здесь недавно

Автор - kirill40021
Дата добавления - 31.01.2017 в 10:42
bmv98rus Дата: Вторник, 31.01.2017, 10:50 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4149
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
kirill40021,

все не сложно, но ждем исправления замечаний от _Boroda_ .

[p.s.] а нужен ли скрип??? Всеж можно сделать и так простым УФ, это еще и лучше, дабы не плодить сотни УФ. При равенстве значения половине среднего -БИНГО Зажигать?


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Вторник, 31.01.2017, 11:53
 
Ответить
Сообщениеkirill40021,

все не сложно, но ждем исправления замечаний от _Boroda_ .

[p.s.] а нужен ли скрип??? Всеж можно сделать и так простым УФ, это еще и лучше, дабы не плодить сотни УФ. При равенстве значения половине среднего -БИНГО Зажигать?

Автор - bmv98rus
Дата добавления - 31.01.2017 в 10:50
kirill40021 Дата: Вторник, 31.01.2017, 14:58 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Я ни че не понял в ПС
Объясните как маленькому?
 
Ответить
СообщениеЯ ни че не понял в ПС
Объясните как маленькому?

Автор - kirill40021
Дата добавления - 31.01.2017 в 14:58
bmv98rus Дата: Вторник, 31.01.2017, 15:04 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4149
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
kirill40021,

Тогда исправьте Это в соответствии с этим


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщениеkirill40021,

Тогда исправьте Это в соответствии с этим

Автор - bmv98rus
Дата добавления - 31.01.2017 в 15:04
Pelena Дата: Вторник, 31.01.2017, 15:14 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 19603
Репутация: 4660 ±
Замечаний: ±

Excel 365 & Mac Excel
ОК, хватит уговаривать. Код исправлю сама, автору замечание.
Можно отвечать


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеОК, хватит уговаривать. Код исправлю сама, автору замечание.
Можно отвечать

Автор - Pelena
Дата добавления - 31.01.2017 в 15:14
bmv98rus Дата: Вторник, 31.01.2017, 15:53 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4149
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
kirill40021,

Вам не нужен макрос а просто правильное УФ (условное форматирование) в приложении.
Этот ваиант можно конечно искриптом делать, но зачем?

Ну а уж если хотите чтоб Excel был перегружен сотней другой условных форматов, то формулу записывать надо поставлля нужны адрес, или нобирая его строкой [vba]
Код
"$B"& i
[/vba]или примерно так [vba]
Код
Cells(i, 2).Address
[/vba] только учтите надо посмотреть тут https://msdn.microsoft.com/en-us....5).aspx и в зависимости от потребностей использовать абсолютные или релативные адреса.

[offtop]Pelena, это я так над собой работаю, а то Александр ругал сильно :-) , а мне стыдно.[/offtop]
К сообщению приложен файл: Copy_of_4190977.xlsm (35.6 Kb)


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Вторник, 31.01.2017, 15:57
 
Ответить
Сообщениеkirill40021,

Вам не нужен макрос а просто правильное УФ (условное форматирование) в приложении.
Этот ваиант можно конечно искриптом делать, но зачем?

Ну а уж если хотите чтоб Excel был перегружен сотней другой условных форматов, то формулу записывать надо поставлля нужны адрес, или нобирая его строкой [vba]
Код
"$B"& i
[/vba]или примерно так [vba]
Код
Cells(i, 2).Address
[/vba] только учтите надо посмотреть тут https://msdn.microsoft.com/en-us....5).aspx и в зависимости от потребностей использовать абсолютные или релативные адреса.

[offtop]Pelena, это я так над собой работаю, а то Александр ругал сильно :-) , а мне стыдно.[/offtop]

Автор - bmv98rus
Дата добавления - 31.01.2017 в 15:53
Pelena Дата: Вторник, 31.01.2017, 16:00 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 19603
Репутация: 4660 ±
Замечаний: ±

Excel 365 & Mac Excel
это я так над собой работаю



"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
это я так над собой работаю


Автор - Pelena
Дата добавления - 31.01.2017 в 16:00
kirill40021 Дата: Вторник, 31.01.2017, 16:11 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
bmv98rus, Хорошо, если я просто УФ использую, как мне сделать чтобы УФ распространилось на все строки? Так как числа для сравнения в каждой строке меняются, а УФ можно сделать только для конкретного числа, либо строки
То, что вы скинули работает не верно! Мне нужно цветовое ранжирование в зависимости от среднего числа в столбце В, А оно ранжирует по двум цветам, так еще и не верно, цвет не зависит от столбца B
А ячейки должны окрашиваться в соответствующий цвет в зависимости от отличия числа в СООТВЕТСТВУЮЩЕЙ строке столбце В
 
Ответить
Сообщениеbmv98rus, Хорошо, если я просто УФ использую, как мне сделать чтобы УФ распространилось на все строки? Так как числа для сравнения в каждой строке меняются, а УФ можно сделать только для конкретного числа, либо строки
То, что вы скинули работает не верно! Мне нужно цветовое ранжирование в зависимости от среднего числа в столбце В, А оно ранжирует по двум цветам, так еще и не верно, цвет не зависит от столбца B
А ячейки должны окрашиваться в соответствующий цвет в зависимости от отличия числа в СООТВЕТСТВУЮЩЕЙ строке столбце В

Автор - kirill40021
Дата добавления - 31.01.2017 в 16:11
sboy Дата: Вторник, 31.01.2017, 16:16 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
kirill40021, Попробуйте еще раз сформулировать правило окрашивания, т.к. я Вас понял абсолютно так же, как и bmv98rus
[p.s.] Посмотрел Вашу формулу в УФ, там двухцветная шкала, НО минимальное значение и максимальное равны!!! Смысл?
Закрасьте пару ячеек руками для примера


Яндекс: 410016850021169

Сообщение отредактировал sboy - Вторник, 31.01.2017, 16:21
 
Ответить
Сообщениеkirill40021, Попробуйте еще раз сформулировать правило окрашивания, т.к. я Вас понял абсолютно так же, как и bmv98rus
[p.s.] Посмотрел Вашу формулу в УФ, там двухцветная шкала, НО минимальное значение и максимальное равны!!! Смысл?
Закрасьте пару ячеек руками для примера

Автор - sboy
Дата добавления - 31.01.2017 в 16:16
kirill40021 Дата: Вторник, 31.01.2017, 16:36 | Сообщение № 13
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
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
Дата добавления - 31.01.2017 в 16:36
sboy Дата: Вторник, 31.01.2017, 16:52 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Формула в УФ выделяет расхождение одним цветом, то, что ближе к среднему не красим
Код
=ABS($B2-E2)>$B2/2
К сообщению приложен файл: 9968982.xlsm (38.5 Kb)


Яндекс: 410016850021169
 
Ответить
СообщениеФормула в УФ выделяет расхождение одним цветом, то, что ближе к среднему не красим
Код
=ABS($B2-E2)>$B2/2

Автор - sboy
Дата добавления - 31.01.2017 в 16:52
bmv98rus Дата: Вторник, 31.01.2017, 17:49 | Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4149
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
kirill40021,

Если вы сделали сами УФ который вас устраивает и нужно только изменить в строках адрес ячейки, то
это
[vba]
Код
    Selection.FormatConditions(1).ColorScaleCriteria(1).Value = _
         "='Расчет ЖКС Объемы'!$B$2+('Расчет ЖКС Объемы'!$B$2/2)"
[/vba]
vеняйте на это
[vba]
Код
    Selection.FormatConditions(1).ColorScaleCriteria(1).Value = _
         "=Cells(i, 2).Address & "+(" & Cells(i, 2).Address & "/2)"
[/vba]
Соотвтевенно будет $B$2, $B$3 в цикле, и это эти 100 и более форматов.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщениеkirill40021,

Если вы сделали сами УФ который вас устраивает и нужно только изменить в строках адрес ячейки, то
это
[vba]
Код
    Selection.FormatConditions(1).ColorScaleCriteria(1).Value = _
         "='Расчет ЖКС Объемы'!$B$2+('Расчет ЖКС Объемы'!$B$2/2)"
[/vba]
vеняйте на это
[vba]
Код
    Selection.FormatConditions(1).ColorScaleCriteria(1).Value = _
         "=Cells(i, 2).Address & "+(" & Cells(i, 2).Address & "/2)"
[/vba]
Соотвтевенно будет $B$2, $B$3 в цикле, и это эти 100 и более форматов.

Автор - bmv98rus
Дата добавления - 31.01.2017 в 17:49
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2026 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!