在 Excel VBA 中,可以使用 Range.AutoFilter 方法对数据进行筛选,然后使用 Range.SpecialCells(xlCellTypeVisible) 方法来获取筛选后的单元格范围。最后,可以使用 Range.Delete 方法删除筛选后的单元格。
举个例子,假设我们有一个名为 "Sheet1" 的工作表,其中第一行为列标题,第二行开始为数据。我们想要删除 "Sheet1" 工作表中 "ColumnA" 列值为 "apple" 的所有行。可以使用以下代码实现:
With Sheet1
.Range("A1:Z1").AutoFilter Field:=1, Criteria1:="apple"
.Range("A2:Z" & .Cells(.Rows.Count, "A").End(xlUp).Row).SpecialCells(xlCellTypeVisible).Delete
.AutoFilterMode = False
End With
这段代码会筛选出A列为apple的行,接着删除这些行,最后关闭筛选模式。