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

时间:2019-03-08 18:45:55

标签: excel vba

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

但是,由于宏仅记录您选择的内容,因此在代码中给出了我选择的行号。现在,如果行号始终保持不变,这将起作用。 由于数据顺序可能会不时更改,因此我想知道是否对该脚本的引用会自动选择标题后的直接行。

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

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

1 个答案:

答案 0 :(得分:1)

假设空白行是过滤器后显示的行,这将起作用。

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