在vba中FormatCondition对象代表条件格式。
如果要给Range对象添加条件格式,可以用FormatConditions.Add方法,它的语法如下:
expression . Add( Type , Operator , Formula1 , Formula2 )
其中Type参数是要添加的条件格式的类型,可以是基于值添加的条件格式,也可以是用公式判断的条件格式。
Type参数将影响后面Operator , Formula1 , Formula2 三个参数的选择和使用。
如果Type参数是xlExpression,则Operator,Formula2参数都可以省略,只用Formula1参数即可。
当Type参数是xlExpression,表示用公式来添加条件格式。
以下的代码演示了如何先删除单元格区域中存在的条件格式,然后再添加条件格式的过程:
Sub QQ1722187970() Dim oWK As Worksheet Dim oRng As Range Set oWK = Excel.ActiveSheet Set oRng = Excel.ActiveCell.CurrentRegion Dim oFC As FormatCondition iRow = Excel.ActiveCell.Row iCol = Excel.ActiveCell.Column sF = "=OR(ROW()=" & iRow & ",COLUMN()=" & iCol & ")" iCol = oRng.FormatConditions.Count '先删除原来的条件格式 For Each oFC In oRng.FormatConditions oFC.Delete Next '添加以公式为判断依据的条件格式 Set oFC = oRng.FormatConditions.Add(xlExpression, , sF) With oFC '设置条件格式的填充色 .Interior.Color = vbYellow End With End Sub
发表评论