【问题标题】:VBA to set Conditional Formatting only for cells with False valueVBA仅为具有False值的单元格设置条件格式
【发布时间】:2017-02-20 09:08:10
【问题描述】:

我正在使用 VBA 将条件格式应用于工作表,如果内容为“FALSE”,则设置背景颜色和正面颜色:

Sub Formatting()

    Sheets("File").Cells.FormatConditions.Delete

    With Range("N2:N2000").FormatConditions.Add( _
        Type:=xlExpression, _
        Formula1:="=$N2=FALSE")
        .Interior.Color = RGB(255, 239, 239)
        .Font.Color = RGB(97, 0, 0)
    End With
End Sub

但是,空白单元格也会变红。

如何仅将条件格式应用于具有“False”值的单元格?

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    首先,确保使用Sheets("File") 完全限定您的Range("N2:N2000")

    其次,如果您只想将格式应用于单词“FALSE”,单元格内没有多余字符,请使用TextOperator:=xlEqual,否则使用TextOperator:=xlContains

    代码

    Option Explicit
    
    Sub Formatting()
    
        With Sheets("File")
            .Cells.FormatConditions.Delete
    
            With .Range("N2:N2000").FormatConditions.Add( _
                Type:=xlTextString, String:="FALSE", TextOperator:=xlEqual)
                .Interior.Color = RGB(255, 239, 239)
                .Font.Color = RGB(97, 0, 0)
            End With
        End With
    
    End Sub
    

    【讨论】:

      【解决方案2】:

      尝试将其匹配为文本:

      Type:=xlTextString, String:="FALSE", TextOperator:=xlContains
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-03-16
        • 2021-03-15
        • 2020-01-24
        • 1970-01-01
        • 2018-08-12
        • 1970-01-01
        • 2013-09-15
        相关资源
        最近更新 更多