vba 按指定列数据筛选,并删除其余行
时间: 2024-03-03 11:52:38 浏览: 182
如果您想使用 VBA 按指定列数据筛选,并删除其余行,您可以使用以下代码示例:
```VBA
Sub FilterAndDeleteRows()
Dim filterRange As Range
Dim lastRow As Long
Dim filterColumn As Long
Dim filterValue As String
filterColumn = 3 '要筛选的列的索引,这里是第3列
filterValue = "Filter Value" '要筛选的值
lastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row '获取最后一行的行号
Set filterRange = Range("A1:C" & lastRow) '筛选范围
filterRange.AutoFilter Field:=filterColumn, Criteria1:=filterValue '按指定列的值筛选
filterRange.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete '删除除标题行外的可见行
filterRange.AutoFilter '取消筛选
End Sub
```
您可以将“3”替换为您要筛选的列的索引,将“Filter Value”替换为您要筛选的值,然后运行此代码即可按指定列数据筛选,并删除其余行。注意,这里的代码将删除除标题行外的所有可见行。如果您需要删除所有行,可以使用“filterRange.Delete”替换“filterRange.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete”。
阅读全文