excel vba – 删除除标题和小计以外的所有行

我正在使用下面的代码,我已经设置了一个过滤列表中的范围,我想删除可见的单元格。 由于标题行我已经抵消了1,但是我也在最后一行代码的最底部有一行,我怎样才能删除所有可见的行,除了最后保持我的总数?

With rng .AutoFilter Field:=5, Criteria1:="<>*" & owner & "*" .Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete End With 

谢谢

尝试这个

 .AutoFilter Field:=5, Criteria1:="<>*" & owner & "*" ActiveSheet.Rows(250).Hidden = True .Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete 

编辑:在聊天中发表讨论。

自动筛选时,行地址不会改变。 所以只需在autofilter后隐藏这一行,你就完成了:)

您可以在过滤之前相应地调整位置和调整范围,以排除第一行和最后一行

 With r.Offset(1, 0).Resize(r.Rows.Count - 2) .AutoFilter Field:=5, Criteria1:="<>*" & owner & "*" .SpecialCells(xlCellTypeVisible).EntireRow.Delete End With 

我不明白你的autofilter标准,但这应该给你一个开始,

 For x = 2 To Range("A65536").End(xlUp).Row - 1 If Sheets("sheet1").Rows(x).Hidden = False Then If 1 = 1 Then ' Replace 1=1 with your autofilter criteria Cells(x, 1).EntireRow.Delete Else End If Else End If Next x 

编辑:更好的答案发布时间我拿出来与我的。