如何使用条件if在Excel中突出显示单元格?

时间:2013-10-09 14:39:51

标签: excel excel-vba vba

我如何有条件地为细胞分配颜色?

我有以下函数应根据if语句为单元格指定不同的颜色:

 Function .....
    ..........
    If (IsNumeric(x)  Then
    .Color = 65344                  // does not work
    Else
    ...........
    End If
    End Function

如何以正确的方式做到这一点?

1 个答案:

答案 0 :(得分:2)

我不确定你在这里使用的是什么颜色,因为65344不是十六进制值,但你可以像这样使用RGB:

Function .....
    ..........
    Dim c As Range
    Dim report As Worksheet

    Set report = Excel.ActiveSheet
    Set c = report.Cells(1, 1)

    If IsNumeric(c.Value) Then
       c.Interior.Color = RGB(110, 110, 100)
    End If
End Function

这是一个可能有帮助的更好的例子。 (这是免费的,所以请仔细检查它的语法错误)

Sub changeColor()

Dim report as Worksheet

set report = Excel.ActiveSheet

dim i as integer

for i = 0 to 100
    if IsNumeric(report.cells(i,1).value) then
        report.cells(i,1).interior.color = rgb(220,230,241)
    else
        report.cells(i,1).interior.color = xlNone
    end if
next i
end sub