Excel宏自动过滤和删除行

时间:2017-12-04 23:19:32

标签: excel vba excel-vba delete-row autofilter

我正在努力让下面的代码工作但却出错了。

编码选择另一个工作表,然后自动过滤列并删除行。

遇到麻烦的线是.AutoFilter 1,“ NoNo

运行时错误'1004':Range clas的AutoFilter方法失败。

我可以请一些帮助。

Private Sub Project()
Worksheets("YesYes").Select
With ActiveSheet
.AutoFilterMode = False
 With Range("y1", Range("y" & Rows.Count).End(xlUp))
    .AutoFilter 1, "*NoNo*"
    On Error Resume Next
    .Offset(1).SpecialCells(12).EntireRow.Delete
End With
.AutoFilterMode = False
End With
End Sub

2 个答案:

答案 0 :(得分:0)

选择不一定"激活"工作表。而不是:

Worksheets("YesYes").Select
With ActiveSheet

这样做:

Worksheets("YesYes").Activate
With ActiveSheet

答案 1 :(得分:0)

不需要使用SelectActivate的99%的时间。

而是使用完全限定的对象,在您的情况下使用:

With Worksheets("YesYes")

并嵌套在下面使用:

With .Range("y1", .Range("y" & .Rows.Count).End(xlUp))

然后添加其余代码。