VBA – 根据特定单元格中的值更改单元格的颜色

我想根据单元格D2的值更改单元格A2:C2的背景颜色。

这也适用于行3,4和5中的相对单元格。

如果单元格D#的值是1,我想要颜色x。 如果值是2,我想要颜色y,如果值是3,我想要颜色z。

如果有区别,则目标范围( A2:D6 )将以表格格式显示。

我希望这个子例程在打开工作簿时执行。 我知道把子程序放在哪里,所以不要指导我怎么做。

我已经使用条件格式来完成这项工作,但是如果有一些VBA,我可以将面条复制到将来的报告中。

你应该使用条件格式,但是这个工作:

 Sub ColorMeElmo() Dim i As Long, r1 As Range, r2 As Range For i = 2 To 5 Set r1 = Range("D" & i) Set r2 = Range("A" & i & ":C" & i) If r1.Value = 1 Then r2.Interior.Color = vbRed If r1.Value = 2 Then r2.Interior.Color = vbBlue If r1.Value = 3 Then r2.Interior.Color = vbYellow Next i End Sub