每次我过滤数据并删除剩余的杂乱时,我想保留前11行(前10行加上标题)。任何人都可以帮助我????
condition 1 : A.TIMEZONE = 1 (Timezone field is not unique)
condition 2 : B.TIMEZONE = 1
condition 3 : ST_Intersects(A.SHAPE, B.SHAPE) (Shape field is where the geographical information is stored)
目前我有这个代码,但这不灵活,因为我的过滤数据范围将是动态的。所以我想要一个保留前10行和标题的代码,并删除每个过滤数据的剩余所有行(过滤器1到过滤器28)。
提前致谢
答案 0 :(得分:0)
我很难将此代码概念化,因为您似乎每次都会覆盖现有数据。很可能,我很难想象你的数据是什么样的,这样就可以了。
那就是说,如果我按照你的面值采用你的代码并假设它按照你的预期进行,但是你不想对过滤器的每次迭代进行硬编码,那么这段代码将是一个有效的替代你做了以上所有28个过滤器。
Sub macro()
Dim ws, sorts As Worksheet
Dim LastRow, filter, nextRow As Long
Dim sortRange As Range
Set ws = Worksheets("Top10_WO")
Set sorts = New Worksheet
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
nextRow = 12
For filter = 1 To 28
ws.Range("B1").AutoFilter field:=2, Criteria1:="fiter" & filter, VisibleDropDown:=True
sortRange.Sort Key1:=Range("J2"), Order1:=xlAscending
Range("A" & nextRow & ":J" & LastRow).SpecialCells(xlCellTypeVisible).EntireRow.Delete
nextRow = nextRow + 10
Next filter
End Sub