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

时间:2016-02-02 00:27:20

标签: excel vba excel-vba

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

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

如果单元格D#中的值为1,我喜欢颜色x。如果值为2,我喜欢颜色y,如果值为3,我喜欢颜色z。

如果有所不同,目标范围(A2:D6)将采用表格格式。

我希望在打开工作簿时执行此子例程。我知道在哪个地方放置那个子程序,所以不要冒汗指示我如何。

我已经通过条件格式化完成了这项工作,但是我可以将一些VBA复制 - 面食放入未来的报告中。

1 个答案:

答案 0 :(得分:7)

您应该使用条件格式,但这可行:

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