根据单元格值修改形状颜色

时间:2017-10-04 08:47:24

标签: excel vba excel-vba

我希望根据链接的单元格值修改形状颜色......

形状是'测试'和单元格值" X11"。我收到对象不支持此属性或方法的错误...

SELECT CASE
       WHEN EXISTS (
              SELECT 1
              FROM   subject_table
              WHERE  :your_array
                     SUBMULTISET OF
                     CAST( COLLECT( subject_id ) AS StringList )
            )
       THEN 'true'
       ELSE 'false'
       END AS has_all_ids
FROM   DUAL;

1 个答案:

答案 0 :(得分:0)

将您的代码更改为此,您的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