Изменить цвет стрелки на основе ее метки или значения - PullRequest
1 голос
/ 19 июня 2019

Как изменить цвет стрелки на основе ее метки (преобразуется в целое число);скажем, если значение стрелки <50;затем измените цвет стрелки на зеленый? </p>

Я обнаружил ошибку времени выполнения 438:

Объект не поддерживает это свойство или метод (строка 3).

Sub ArrowColour()
Dim nsize As Integer
nsize = CInt(ActiveSheet.Shapes.Range(Array("Left Arrow 1")).Value)
With ActiveSheet.Shapes.Range(Array("Left Arrow 1")).Fill
    If nsize < 50 Then
    .ForeColor.RGB = RGB(0, 176, 80)
    Else
    .ForeColor.RGB = RGB(255, 0, 0)
    End If
End With
End Sub

Ответы [ 2 ]

2 голосов
/ 19 июня 2019

У фигур нет свойства Value.

Попробуйте это:

Sub ArrowColour()     
    With ActiveSheet.Shapes("Left Arrow 1")
        .ForeColor.RGB = IIf(CInt(.TextFrame.Characters.Text)<50, _
                             RGB(0, 176, 80), RGB(255, 0, 0))    
    End With
End Sub
0 голосов
/ 19 июня 2019

Я нашел ответ:

    Sub Test()
    Dim shp As Shape
    Dim sTemp As String
    Set shp = ActiveSheet.Shapes("RightArrow")
    sTemp = shp.TextFrame.Characters.Text
    If CInt(sTemp) > 400 Then
        shp.Fill.ForeColor.RGB = RGB(255, 0, 0)
    End If
    End Sub 

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...