VBA (функцией условного форматирования - набора значков - выставить стрелки возле значения)

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста, как с помощью VBA (и применив функцию условного форматирования - набора значков) отразить рост и падение по строке без фиксированного условия, например имеем диапазон дат со значениями как отразить значки по темпу роста (но без отсутствия самого расчета темпа роста) ,т.е. к примеру по первой строке с ФИО чел.1 - 02.01.2016 должен быть значок роста возле цифры, 03.01.2016 значок роста, 04.01.2016 значок паления потому-что предыдущее значение больше, а там где значение одинаково боковая стрелка
ФИО ПОКАЗАТЕЛЬ 01.01.2016 02.01.2016 03.01.2016 04.01.2016 05.01.2016 06.01.2016
чел.1 показатель1 10 11 12 10 15 15
чел.1 показатель2 11 11 11 11 11 11
чел.1 показатель3 10 10 10 10 10 10
чел.1 показатель4 13 13 13 13 13 13
чел.1 показатель5 14 14 14 14 14 14
чел.1 показатель6 15 15 15 15 15 15
чел.1 показатель7 16 16 16 16 16 16
чел.1 показатель8 17 17 17 17 17 17
чел.2 показатель1 1 5 3 7 9 10
чел.2 показатель2 2 2 2 2 2 2
чел.2 показатель3 3 3 3 3 3 3
чел.2 показатель4 4 4 4 4 4 4
чел.2 показатель5 5 5 5 5 5 5
чел.2 показатель6 6 6 6 6 6 6
чел.3 показатель1 10 10 10 10 10 10
чел.3 показатель2 10 10 10 10 10 10
чел.3 показатель3 10 10 10 10 10 10
чел.3 показатель4 10 10 10 10 10 10
чел.3 показатель5 10 10 10 10 10 10
чел.3 показатель6 10 10 10 10 10 10
чел.4 показатель1 20 20 20 20 20 20
чел.4 показатель2 21          
чел.4 показатель3 22 22 21 25 28 30

Решение задачи: «VBA (функцией условного форматирования - набора значков - выставить стрелки возле значения)»

textual
Листинг программы
Sub green(cCell As Range)
    cCell.FormatConditions.AddIconSetCondition
    cCell.FormatConditions(cCell.FormatConditions.Count).SetFirstPriority
 
    With cCell.FormatConditions(1)
        .ReverseOrder = False
        .ShowIconOnly = False
        .IconSet = ActiveWorkbook.IconSets(xl3TrafficLights1)
    End With
    
    With cCell.FormatConditions(1).IconCriteria(1)
        .Icon = xlIconRedDownArrow
    End With
    
    With cCell.FormatConditions(1).IconCriteria(2)
        .Type = xlConditionValueNumber
        .Value = cCell.Offset(0, -1)
        .Operator = xlGreaterEqual
        .Icon = xlIconYellowSideArrow
    End With
 
    With cCell.FormatConditions(1).IconCriteria(3)
        .Type = xlConditionValueNumber
        .Value = cCell.Offset(0, -1)
        .Operator = xlGreater
        .Icon = xlIconGreenUpArrow
    End With
 
End Sub
 
 
Public Sub format_arrow()
Dim cCell As Range
 
For Each cCell In Range(Cells(6, 5), Cells(28, 9))
    Call green(cCell)
Next
 
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.667 из 5
Похожие ответы