按搜索条件删除 Excel 行
Removing Excel rows by search criteria
我正在尝试通过 VBA 删除第 13 列单元格中数字小于整数 5 的 Excel 行。该代码只是按搜索条件过滤行,然后删除不需要的行。
'1. Apply Filter
ws.Range("A5:O202").AutoFilter Field:=13, Criteria1:="<5"
'2. Delete Rows
Application.DisplayAlerts = False
ws.Range("A5:O202").SpecialCells(xlCellTypeVisible).Delete
Application.DisplayAlerts = True
'3. Clear Filter
On Error Resume Next
ws.ShowAllData
On Error GoTo 0
为了让它继续下去,我的代码指定了一个静态范围以容纳最多 202 行的不同 table 长度,但是我可以更改它以便范围在它发现的第一个空单元格之前将自身设置为一个在第 13 列?
Sub t()
Dim t As Long
Dim ws As Worksheet
Set ws = ActiveSheet
t = 1
Do Until IsEmpty(ws.Cells(t, 13))
If ws.Cells(t, 13) < 5 Then
ws.Rows(t).Delete
Else
t = t + 1
End If
Loop
End Sub
我正在尝试通过 VBA 删除第 13 列单元格中数字小于整数 5 的 Excel 行。该代码只是按搜索条件过滤行,然后删除不需要的行。
'1. Apply Filter
ws.Range("A5:O202").AutoFilter Field:=13, Criteria1:="<5"
'2. Delete Rows
Application.DisplayAlerts = False
ws.Range("A5:O202").SpecialCells(xlCellTypeVisible).Delete
Application.DisplayAlerts = True
'3. Clear Filter
On Error Resume Next
ws.ShowAllData
On Error GoTo 0
为了让它继续下去,我的代码指定了一个静态范围以容纳最多 202 行的不同 table 长度,但是我可以更改它以便范围在它发现的第一个空单元格之前将自身设置为一个在第 13 列?
Sub t()
Dim t As Long
Dim ws As Worksheet
Set ws = ActiveSheet
t = 1
Do Until IsEmpty(ws.Cells(t, 13))
If ws.Cells(t, 13) < 5 Then
ws.Rows(t).Delete
Else
t = t + 1
End If
Loop
End Sub