VBA CODE - изменить значение ячейки на основе условного форматирования - PullRequest
0 голосов
/ 09 апреля 2020

Я применил правила условного форматирования к следующему диапазону M5: KI1525. Я хочу ввести значение ячейки на основе цвета заливки условного форматирования конкретной ячейки.

Темно-желтые отформатированные ячейки должны ввести значение 1. Светло-желтые отформатированные ячейки должны ввести значение 2.

Я хочу использовать код VBA, чтобы сделать эту работу. Я попробовал следующий код, но, к сожалению, он не будет работать сразу для всего диапазона (только для активных ячеек), и он изменяет значения ячеек всех отформатированных ячеек, а не только темные и светло-желтые отформатированные ячейки.

Sub ChangeValueBasedOnConditionalFormatColor()
    Dim rg As Range
    Dim xRg As Range
    Set xRg = Selection.Cells
    Application.DisplayAlerts = False
    For Each rg In xRg
        With rg
            Select Case ActiveCell.DisplayFormat.Interior.Color
                Case Is = 49407 'Yellow
                    .Value = 0.3
                Case Is = 10086143 'Blue
                    .Value = 0.7
            End Select
        End With
    Next
    Application.DisplayAlerts = False
End Sub

Мой код основан на Как изменить значение в зависимости от цвета ячейки в Excel . Вместо того, чтобы проверять предустановленный цвет фона (заливки) ячейки, мне нужно настроить код для проверки цвета заливки условного форматирования ячейки.

Любая помощь очень ценится.

С уважением,

Pjotr ​​

...