В сводной таблице требуется окрашивать ячейки цветовой шкалой. Диапазоны окрашиваемых ячеек располагаются в строках, могут быть слитными, а могут быть разорванными, но при УФ значения в диапазоне в одном дне взаимоучитываются. В примере диапазоны разорваны. Создал макрос макрорекодером. При записи макроса условное форматирование в диапазоне сработало. Выделение несоседних ячеек осуществлял через Ctrl. При запуске макроса условное форматирование осуществляется только в первой ячейке диапазона, и в списке правил УФ это правило прописано только для нее. Сам файл, к сожалению, не прикрепляется из-за размера, который дает даже чистая сводная таблица в файле. Прикрепляю внешний вид таблицы для понимания логики форматирования. Подскажите, в какую сторону копать? Где ошибка появляется? P.S. Не в сводной таблице аналогично созданный макрос работает без проблем. [vba]
Код
Sub УФ2() ' ' УФ2 Макрос 'Проба для разорванного интервала ячеек
' Sheets("СводнаяТаблицаОбщая").Select Range("K19:P19,V19:W19").Select 'Range("V19").Activate Selection.FormatConditions.AddColorScale ColorScaleType:=3 Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _ xlConditionValueLowestValue With Selection.FormatConditions(1).ColorScaleCriteria(1).FormatColor .Color = 8109667 .TintAndShade = 0 End With Selection.FormatConditions(1).ColorScaleCriteria(2).Type = _ xlConditionValuePercentile Selection.FormatConditions(1).ColorScaleCriteria(2).Value = 50 With Selection.FormatConditions(1).ColorScaleCriteria(2).FormatColor .Color = 8711167 .TintAndShade = 0 End With Selection.FormatConditions(1).ColorScaleCriteria(3).Type = _ xlConditionValueHighestValue With Selection.FormatConditions(1).ColorScaleCriteria(3).FormatColor .Color = 7039480 .TintAndShade = 0 End With Selection.FormatConditions(1).ScopeType = xlSelectionScope End Sub
[/vba]
В сводной таблице требуется окрашивать ячейки цветовой шкалой. Диапазоны окрашиваемых ячеек располагаются в строках, могут быть слитными, а могут быть разорванными, но при УФ значения в диапазоне в одном дне взаимоучитываются. В примере диапазоны разорваны. Создал макрос макрорекодером. При записи макроса условное форматирование в диапазоне сработало. Выделение несоседних ячеек осуществлял через Ctrl. При запуске макроса условное форматирование осуществляется только в первой ячейке диапазона, и в списке правил УФ это правило прописано только для нее. Сам файл, к сожалению, не прикрепляется из-за размера, который дает даже чистая сводная таблица в файле. Прикрепляю внешний вид таблицы для понимания логики форматирования. Подскажите, в какую сторону копать? Где ошибка появляется? P.S. Не в сводной таблице аналогично созданный макрос работает без проблем. [vba]
Код
Sub УФ2() ' ' УФ2 Макрос 'Проба для разорванного интервала ячеек
' Sheets("СводнаяТаблицаОбщая").Select Range("K19:P19,V19:W19").Select 'Range("V19").Activate Selection.FormatConditions.AddColorScale ColorScaleType:=3 Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _ xlConditionValueLowestValue With Selection.FormatConditions(1).ColorScaleCriteria(1).FormatColor .Color = 8109667 .TintAndShade = 0 End With Selection.FormatConditions(1).ColorScaleCriteria(2).Type = _ xlConditionValuePercentile Selection.FormatConditions(1).ColorScaleCriteria(2).Value = 50 With Selection.FormatConditions(1).ColorScaleCriteria(2).FormatColor .Color = 8711167 .TintAndShade = 0 End With Selection.FormatConditions(1).ColorScaleCriteria(3).Type = _ xlConditionValueHighestValue With Selection.FormatConditions(1).ColorScaleCriteria(3).FormatColor .Color = 7039480 .TintAndShade = 0 End With Selection.FormatConditions(1).ScopeType = xlSelectionScope End Sub