使用宏突出显示具有背景色的单元格

Use a macro to highlight cells with a background colour

我需要我的宏来删除包含红色单元格的行。

我首先对包含红色单元格的列进行排序,使空白单元格位于顶部,然后手动单击顶部的红色单元格(第 100 行)并使用 Ctrl-Shift-Down 突出显示其余单元格。因此,我的部分代码如下所示:

ActiveWorkbook.Worksheets("Sheet1").ListObjects("Table1").Sort.SortFields.Add2 _
    Key:=Range("Table1[[#All],[First Name]]"), SortOn:= _
    xlSortOnCellColor, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").ListObjects("Table1").Sort
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=1, Criteria1:=RGB _
    (255, 0, 0), Operator:=xlFilterCellColor
Rows("100:150").Select

我如何修改最后一部分,以便我的宏 检测 红色单元格 然后 突出显示它们,这样它就可以工作不管我的 sheet?

中有多少细胞

提前致谢。

下面的代码应该可以满足您的需求。按单元格颜色使用 AutoFilter 并批量删除。让我知道你如何处理它。

Option Explicit
Sub DeleteByColor()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")

With ws.ListObjects("Table1").Range
    .AutoFilter 1, RGB(255, 0, 0), 8
    .Offset(1).Resize(.Rows.Count - 1).EntireRow.Delete
    .AutoFilter
End With

End Sub