我有一個對象(即一個包含文本的矩形形狀),我希望形狀變化的顏色(狀態)取決於一個單元格內的文本(從下拉列表)。VBA中單個對象上的多個條件格式
我現在使用'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
你可以嘗試[編輯您的問題(http://stackoverflow.com/posts/11666218/edit)和正確縮進代碼,然後選擇它,然後按' {}'按鈕使它看起來不錯? – assylias 2012-07-26 09:27:42
您需要使用語句「ElseIf」。在這種情況下,我可能會選擇案例。 – Trace 2012-07-26 09:50:24