在此条件格式中显示错误

时间:2015-03-10 11:37:25

标签: excel-vba vba excel

我正在尝试比较两个单元格,如果值更大,则将整行格式化为红色,如果它小于黄色,如果值等于绿色。我在if循环中遇到错误并且数据是动态的,因此没有特定的范围值

我收到此错误:

  

运行时错误1004 object_global的方法范围失败

在此代码的第一行。为什么呢?

If Range("c" & i2).Value > Range("D" & i2).Value Then ' <~~~~ Error
    Range("E" & i2) = "Resource Not fully Utilised"
    Range("a" & i2, "e" & i2).EntireRow.Interior.Color = RGB(255, 255, 0)
ElseIf Range("c" & i2).Value < Range("D" & i2).Value Then
    Range("E" & i2) = "Resource over Utilised"
    Range("a" & i2, "e" & i2).EntireRow.Interior.Color = RGB(255, 0, 0)
Else
    Range("E" & i2) = "Resource properlly Utilised"
    Range("a" & i2, "e" & i2).EntireRow.Interior.Color = RGB(255, 0, 0)
End If

1 个答案:

答案 0 :(得分:0)

使用for循环来解决我的问题:

row1 = Range("c1").SpecialCells(xlCellTypeLastCell).row
row1 = row - 1
For i2 = 1 To row1
    If Range("c" & i2).Value > Range("D" & i2).Value Then
        Range("E" & i2) = "Resource Not fully Utilised"
        Range("a" & i2, "e" & i2).Interior.Color = RGB(255, 255, 0)
    ElseIf Range("c" & i2).Value < Range("D" & i2).Value Then
        Range("E" & i2) = "Resource over Utilised"
        Range("a" & i2, "e" & i2).Interior.Color = RGB(255, 0, 0)
    Else
        Range("E" & i2) = "Resource Fully Utilised Properly"
        Range("a" & i2, "e" & i2).Interior.Color = RGB(0, 255, 0)
    End If
Next i2