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

Вход

Регистрация

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

 

= Мир MS Excel/Условное форматирование в свод таблице для диапазона ячеек - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Условное форматирование в свод таблице для диапазона ячеек (Макросы/Sub)
Условное форматирование в свод таблице для диапазона ячеек
Александр9320 Дата: Вторник, 21.09.2021, 13:37 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

В сводной таблице требуется окрашивать ячейки цветовой шкалой. Диапазоны окрашиваемых ячеек располагаются в строках, могут быть слитными, а могут быть разорванными, но при УФ значения в диапазоне в одном дне взаимоучитываются. В примере диапазоны разорваны.
Создал макрос макрорекодером. При записи макроса условное форматирование в диапазоне сработало. Выделение несоседних ячеек осуществлял через 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]
К сообщению приложен файл: ___.xlsm (22.4 Kb)


Сообщение отредактировал Александр9320 - Вторник, 21.09.2021, 15:43
 
Ответить
СообщениеВ сводной таблице требуется окрашивать ячейки цветовой шкалой. Диапазоны окрашиваемых ячеек располагаются в строках, могут быть слитными, а могут быть разорванными, но при УФ значения в диапазоне в одном дне взаимоучитываются. В примере диапазоны разорваны.
Создал макрос макрорекодером. При записи макроса условное форматирование в диапазоне сработало. Выделение несоседних ячеек осуществлял через 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]

Автор - Александр9320
Дата добавления - 21.09.2021 в 13:37
Serge_007 Дата: Вторник, 21.09.2021, 14:39 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата Александр9320, 21.09.2021 в 13:37, в сообщении № 1 ()
Сам файл, к сожалению, не прикрепляется из-за размера, который дает даже чистая сводная таблица в файле
Чистая сводная, без сохраненных данных, весит
- в .xls - 63 Кб,
- в .xlsb - 15 Кб
К сообщению приложен файл: 20210921_9320.xls (62.5 Kb) · 20210921_9320.xlsb (14.6 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата Александр9320, 21.09.2021 в 13:37, в сообщении № 1 ()
Сам файл, к сожалению, не прикрепляется из-за размера, который дает даже чистая сводная таблица в файле
Чистая сводная, без сохраненных данных, весит
- в .xls - 63 Кб,
- в .xlsb - 15 Кб

Автор - Serge_007
Дата добавления - 21.09.2021 в 14:39
Александр9320 Дата: Вторник, 21.09.2021, 15:45 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Накидал ручками файлик с похожими данными и структурой. Прикрепил. Вроде получилось
 
Ответить
СообщениеНакидал ручками файлик с похожими данными и структурой. Прикрепил. Вроде получилось

Автор - Александр9320
Дата добавления - 21.09.2021 в 15:45
Александр9320 Дата: Вторник, 21.09.2021, 15:57 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Сейчас сравнивал два этих макроса между собой. Нашел строчку
[vba]
Код
Selection.FormatConditions(1).ScopeType = xlSelectionScope
[/vba]
Когда ее закомментировал, то и в сводной таблице УФ стало работать.
Отсюда вопрос: чем это чревато в будущем при работе макроса?
 
Ответить
СообщениеСейчас сравнивал два этих макроса между собой. Нашел строчку
[vba]
Код
Selection.FormatConditions(1).ScopeType = xlSelectionScope
[/vba]
Когда ее закомментировал, то и в сводной таблице УФ стало работать.
Отсюда вопрос: чем это чревато в будущем при работе макроса?

Автор - Александр9320
Дата добавления - 21.09.2021 в 15:57
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Условное форматирование в свод таблице для диапазона ячеек (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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