私はオブジェクト(つまり、テキストを保持する長方形の形状)を持っていますが、セル内のテキスト(ドロップダウンリストから)に応じて形状を色(ステータス)に変更したいと思います。
現在、「If」関数を使用して形状をフォーマットしていますが、これが最善の方法だと思います。ただし、VBAで複数の「IF」式を実行する方法がわかりません。
フォーマットに成功した「If」式を実行しましたが、これは2色間でしか変更できませんでした。これが私のシングル「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
スクリプトに他の条件/'If'式を追加すると、オブジェクトの色を変更できませんでした。私が得た最も近いものは、すべての可能性をカバーするための「If」および「endIf」式でした。これが私の最も近い抽出です(私の経験から)。
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