Excel 如果语句格式化,突出显示行范围

Excel 如果语句格式化,突出显示行范围,excel,vba,Excel,Vba,你好,上次我发了一个问题,很快就解决了 基本上,我想做的是,如果列r中的一行表示Project Complete,那么我希望它灰显D列中的行:BM 我在玩一些东西,但它不想工作 列r也是另一个工作簿的vlookup公式,不确定这是否有区别 Dim rng As Range, cell As Range Set rng = Range("R10:R1000") For Each cell In rng If cell.Value = "Project Complete" Then Range(

你好,上次我发了一个问题,很快就解决了

基本上,我想做的是,如果列r中的一行表示Project Complete,那么我希望它灰显D列中的行:BM

我在玩一些东西,但它不想工作

列r也是另一个工作簿的vlookup公式,不确定这是否有区别

Dim rng As Range, cell As Range
Set rng = Range("R10:R1000")

For Each cell In rng

If cell.Value = "Project Complete" Then
Range("D" & ActiveCell.Row & ":BM" & ActiveCell.Row).Select
With Selection.Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .ThemeColor = xlThemeColorDark1
    .TintAndShade = -0.149998474074526
    .PatternTintAndShade = 0
End With
End If
Next cell

您可以在范围内循环,无需选择:

Sub OhYa()

    Dim rng As Range, c As Range
    Set rng = Range("R10:R1000")

    For Each c In rng.Cells

        If c = "Project Complete" Then

            With Range("D" & c.Row & ":BM" & c.Row).Interior
                .Pattern = xlSolid
                .PatternColorIndex = xlAutomatic
                .ThemeColor = xlThemeColorDark1
                .TintAndShade = -0.149998474074526
                .PatternTintAndShade = 0
            End With

        End If
    Next c

End Sub

不能使用条件格式吗?将
ActiveCell.Row
更改为
cell.Row
还可以将
范围(“D”…
与以下行组合:
与范围(“D”&cell.Row&“:BM”&cell.Row)
避免使用
。选择
。这样只会减慢代码的执行速度。