Double if语句然后突出显示值<>到%

时间:2016-06-16 16:00:06

标签: excel vba excel-vba

我想要做的是:如果D列上的单元格表示汽车,则检查右侧的最后一个单元格(行上的最后一个单元格),如果该值小于20%,则突出显示。 (这是代码的最后一部分):

这是我到目前为止,但我无法弄清楚如何解决它。我必须为工作做这件事,但我很困惑谢谢!

Worksheets("Report").Activate
Call VBA

Dim lrow As Integer
Dim xrow As Integer

Dim FR As Range
Dim MR As Range
Dim cell As Range

lrow = wsr.Cells(Rows.Count, 3).End(xlUp).Row
xrow = wsr.Cells(Rows.Count, 3).End(xlToRight)

Set FR = Range("D12:D" & lrow)
For Each cell In FR
If cell.Value = "Cars" then for cell.xrow if cell.Value > 0.20 then Then cell.Interior.Color = RGB(224, 202, 224)

通过Xrow我的意思是行上的最后一个单元格。

谢谢!

2 个答案:

答案 0 :(得分:2)

试试这个:

For Each cell In FR
    If cell.Value = "Cars" Then
        If Cells(cell.Row, Columns.Count).End(xlToLeft).Value < 0.2 Then
            cell.Interior.Color = vbRed
        End If
    End If
Next

然而,斯科特克拉纳的答案是一个更优雅的解决方案。

答案 1 :(得分:2)

要避免使用vba,您可以使用条件格式。

条件格式化公式将是:

=AND($D12="Cars",INDEX(12:12,MATCH(1E+99,12:12))>0.2)

INDEX(12:12,MATCH(1E+99,12:12))部分是查找该行中具有数字的最后一列的内容。然后测试它是否大于.2

您可以将它应用于从第12行开始格式化的所有行和列,我只将其应用于D12:D28:

enter image description here