Excel 根据颜色过滤后删除空白突出显示的行

Excel 根据颜色过滤后删除空白突出显示的行,excel,vba,Excel,Vba,我有一个数据集,其中有很多空白突出显示的行。 我已经录制并获得了帮助我删除所需行的脚本 但是,由于宏只记录了您选择的内容,因此在代码中它给出了我选择的行号。现在,如果行号始终保持不变,则此操作有效。 由于数据顺序有时会改变,我想知道脚本是否会自动选择标题后的直接行,而不是对特定行的引用 这是代码。对于行“行(5:5)。选择”,行号可以不断更改 ActiveSheet.Range("$A$1:$O$2000").AutoFilter Field:=15, Criteria1:=RGB(180, _

我有一个数据集,其中有很多空白突出显示的行。 我已经录制并获得了帮助我删除所需行的脚本

但是,由于宏只记录了您选择的内容,因此在代码中它给出了我选择的行号。现在,如果行号始终保持不变,则此操作有效。 由于数据顺序有时会改变,我想知道脚本是否会自动选择标题后的直接行,而不是对特定行的引用

这是代码。对于行“行(5:5)。选择”,行号可以不断更改

ActiveSheet.Range("$A$1:$O$2000").AutoFilter Field:=15, Criteria1:=RGB(180, _
    180, 191), Operator:=xlFilterCellColor
rows("5:5").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp

假设空白行是筛选后显示的行,这将起作用。

With ActiveSheet.Range("$A$1:$O$2000")
    .AutoFilter Field:=15, Criteria1:=RGB(180,180, 191), Operator:=xlFilterCellColor
    On Error Resume Next 'only using this line in case there are no blank rows after filter
    .SpecialCells(xlCellTypeVisible).EntireRow.Delete
    On Error Go To 0 'and now turn error reporting back on so any other errors fire as needed
End With

你到底需要删除什么?删除行的标准是什么?标准是代码中作为RGB的列中的单元格颜色。不幸的是,表格中的颜色与excel的56种颜色代码不匹配,因此必须使用RGB。Scott,谢谢!我想到了类似的东西,但假设它无法识别空白单元格可见。我将范围从A1更改为A2,以保持标题行不变。