vba excel对listObject的条件格式

时间:2016-03-16 10:29:05

标签: excel-vba vba excel

我需要根据列表对象中的相对列值删除行单元格。 我如何根据vba中的相对列值在所有行单元格上添加条件格式? 例如:如果单元格值= 1,那么整行需要删除

我试过了:

Dim qt As ListObject
qt = Sheets.ListObjects(1)
With qt.DataBodyRange
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=[MyColumn]=0"
.FormatConditions(0).Font.StrikeOut = True
End With

1 个答案:

答案 0 :(得分:1)

以下内容使用.DataBodyRange property检索左上角的地址,以便在formuLa中使用。

With Worksheets("Sheet1")
    With .ListObjects("Table1")
        With .DataBodyRange
            .FormatConditions.Delete
            .FormatConditions.Add Type:=xlExpression, _
                Formula1:="=" & .Cells(1, 1).Address(0, 1) & "=1"
            .FormatConditions(1).Font.Strikethrough = True
        End With
    End With
End With

请注意,FormatConditions对象具有基于1的ineex并使用Font.Strikethrough属性,而不是Font.StrikeOut。