我有一个对象(即包含文本的 ractangle 形状),我希望根据 cel 中的文本(从下拉列表中)改变形状的颜色(状态)。
我目前正在使用“If”函数来格式化形状,我觉得这是最好的方法;但是我不确定如何在 VBA 中运行多个“IF”公式。
我已经运行了一个成功的“如果”公式进行格式化,但这只能在 2 种颜色之间改变。这是我的单一“如果”公式。
If Range("I2") = "Deviation" Then
Worksheets("M2").Shapes("Rect1").Fill.ForeColor.RGB = RGB(79, 79, 79)
Else
Worksheets("M2").Shapes("Rect1").Fill.ForeColor.RGB = RGB(0, 102, 204)
End If
当我向脚本添加其他条件/“如果”公式时,它无法更改对象颜色。我得到的最接近的是'If'和'end If'公式来涵盖所有可能性。这是我最接近的提取物(根据我的经验)。
If Range("I2") = "Yes" Then
Worksheets("M2").Shapes("Rect1").Fill.ForeColor.RGB = RGB(0, 128, 0)
End If
If Range("I2") = "No" Then
Worksheets("M2").Shapes("Rect1").Fill.ForeColor.RGB = RGB(218, 9, 4)
End If
If Range("I2") = "In Progress" Then
Worksheets("M2").Shapes("Rect1").Fill.ForeColor.RGB = RGB(201, 129, 13)
End If
If Range("I2") = "Deviation" Then
Worksheets("M2").Shapes("Rect1").Fill.ForeColor.RGB = RGB(79, 79, 79)
Else
Worksheets("M2").Shapes("Rect1").Fill.ForeColor.RGB = RGB(0, 102, 204)
End If