简体   繁体   中英

Modifying shape colour based on cell value

Am looking to modify the shape colour based on a linked cell value ...

The shape is 'test' and the cell value "X11". I'm getting the error that the object does not support this property or method ...

Sub CChange()
Dim ws As Worksheet
Set ws = ThisWorkbook.ActiveSheet

   With ws.Shapes.Range(Array("test"))
        If .Range("X11") = 1 Then
            .Fill.ForeColor.RGB = RGB(18, 38, 43)
        ElseIf .Range("X11") = 2 Then
            .Fill.ForeColor.RGB = 0
        End If
    End With
End Sub

Change your code to this , your with statement is wrong. You are not working with worksheet hence you cannot access range with .Range.

Sub CChange()
Dim ws As Worksheet
Set ws = ThisWorkbook.ActiveSheet

   With ws.Shapes.Range(Array("test"))
        If ws.Range("X11") = 1 Then
            .Fill.ForeColor.RGB = RGB(18, 38, 43)
        ElseIf ws.Range("X11") = 2 Then
            .Fill.ForeColor.RGB = 0
        End If
    End With
End Sub

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM