使用VBA进行颜色填充,根据单元值进行

我正在寻找在单元格中select的文本(将有一个下拉菜单,其中两个值是“SD”和“CS”)在Excel中的颜色填充单元格范围(C2:C7)。 这是我的代码到目前为止:

Sub ChangeColor()Dim rCell As Range

With Sheet1 For Each rCell In .Range("C2:C7") If rCell.Value <= SD Then rCell.Interior.Color = vbRed ElseIf rCell.Value <= CS Then rCell.Interior.Color = vbGreen Else: rCell.Interior.Color = vbYellow End If End With End Sub 

我被告知有一个编译错误:结束与没有

我刚刚开始在VBA,所以有人可以告诉我我做错了什么?

要修复你的代码,你需要插入一个Next语句。 在End With之前行。 另外,最好使用缩进来直观地看到不同的代码块。 在你的情况下,它看起来像这样:

 Sub YourSub
    用Sheet1
        对于每个rCell In .Range(“C2:C7”)
            如果rCell.Value <= SD那么
                 rCell.Interior.Color = vbRed
            否则如果rCell.Value <= CS那么
                 rCell.Interior.Color = vbGreen
            其他
                 rCell.Interior.Color = vbYellow
            万一
        下一个rCell
    结束
结束小组

此外,考虑在这里使用条件格式而不是VBA – 它会做同样的事情,但更容易!