如何根据箭头的标签更改其颜色(转换为整数);说箭头的值是否<50;然后将箭头的颜色更改为绿色?
我遇到了运行时错误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
答案 0 :(得分:2)
形状没有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
答案 1 :(得分:0)
我找到了答案:
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