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



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

我首先对包含红色单元格的列进行排序,使空白单元格位于顶部,然后手动单击顶部的红色单元格(第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

我如何修改最后一部分,使我的宏检测的红色细胞,然后突出显示它们,使它将工作,无论我有多少单元格在我的工作表?

提前感谢。

下面的代码应该可以满足您的需求。按单元颜色使用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

最新更新