Мне нужна твоя помощь.контекст: у меня есть VBA, чтобы изменить цвета (зеленый, оранжевый, красный) на несколько фигур, связанных со значением%.Значения будут меняться в зависимости от списка.Однако, если% изменяется, форматирование не следует.
Макрос выглядит следующим образом - знаете ли вы, как «принудительно» обновить, чтобы форматирование формы следовало за любыми изменениями ячейки?приведенная ниже попытка форсировать его не удалась.
Private Sub Worksheet_Change(ByVal Target As Range)
EnableFormatConditionsCalculation = True
If Target.Address = "$K$16" Then
With Sheets("Resources").Shapes("Oval 1")
If Sheets("Resources").Cells(16, 11).Value < 0.95 Then
.Fill.ForeColor.RGB = RGB(255, 0, 0)
Else If
Sheets("Resources").Cells(16, 11).Value > 0.99 Then
.Fill.ForeColor.RGB = RGB(0, 255, 0)
Else
.Fill.ForeColor.RGB = RGB(255, 153, 0)
End If
End If
End With
ElseIf Target.Address = "$L$16" Then
With Sheets("Resources").Shapes("Oval 2")
If Sheets("Resources").Cells(16, 12).Value < 0.95 Then
.Fill.ForeColor.RGB = RGB(255, 0, 0)
Else If Sheets("Resources").Cells(16, 12).Value > 0.99 Then
.Fill.ForeColor.RGB = RGB(0, 255, 0)
Else
.Fill.ForeColor.RGB = RGB(255, 153, 0)
End If
End If
End With
Range("K16:W16").Calculate
End If
End Sub