【发布时间】:2015-03-30 01:07:59
【问题描述】:
如何使用 VBA 存储和检索从自动筛选操作返回的行号?例如,我使用@brettdj 代码from this question(参见下面的代码)删除了 B 列下所有带有“X”的行。现在我需要用 X 存储行号(B4、B6、B9 - 参见下面的屏幕截图)因为我需要删除同一工作簿中其他工作表上的相同行。
Sub QuickCull()
Dim ws As Worksheet
Dim rng1 As Range
Set ws = Sheets("Sheet1")
Set rng1 = ws.Range(ws.[b2], ws.Cells(Rows.Count, "B").End(xlUp))
Application.ScreenUpdating = False
With ActiveSheet
.AutoFilterMode = False
rng1.AutoFilter Field:=1, Criteria1:="X"
rng1.Offset(1, 0).EntireRow.Delete
.AutoFilterMode = False
End With
Application.ScreenUpdating = True
End Sub
【问题讨论】:
-
应用过滤器后,向后遍历
rng1中的单元格:如果.RowHeight>0,则删除其他工作表上的该行。