基于一列中的内容在整行上进行条件格式化

时间:2017-09-17 23:37:31

标签: excel vba excel-vba

如果N列中的内容包含单词EMPTY,我有一个表格,我想在整行中将红色字体着色。

例如:

如果N2 = EMPTY则为
格式A2到AG2
.Font.Color = vbRed

我想在VBA中做到这一点,想法?

目前我可以格式化N2单元格,但无法弄清楚如何将其推送到整个行。

1 个答案:

答案 0 :(得分:0)

只需格式化您正在处理的行的A:AG:

Sub test()
    Dim r As Long
    r = 2
    If Cells(r, "N").Value = "EMPTY" Then
        Rows(r).Range("A1:AG1").Font.Color = vbRed
    End If
End Sub

当然,这很容易被置于一个循环中:

Sub test()
    Dim r As Long
    For r = 2 To 100
        If Cells(r, "N").Value = "EMPTY" Then
            Rows(r).Range("A1:AG1").Font.Color = vbRed
        End If
    Next
End Sub

注意:如果您想格式化整行,而不仅仅是列A:AG,请将.Range("A1:AG1")部分保留在语句之外,以便它只是说:

Rows(r).Font.Color = vbRed

根据您想要使用VBA的评论,只是条件格式化,在单元格A1中应用基于公式=$N1="EMPTY"的条件格式,并将其复制到任何您希望它应用于的单元格:

enter image description here