Excel VBA删除包含特定文本的行。代码不工作
我有一个打开工作簿的宏。然后我希望它查看C列,如果它发现任何与文本“Draft”有关的内容,请删除整行。这是我的代码,它似乎没有给我任何错误,但它不会删除我想要的行。我错过了什么Excel VBA删除包含特定文本的行。代码不工作,excel,vba,Excel,Vba,我有一个打开工作簿的宏。然后我希望它查看C列,如果它发现任何与文本“Draft”有关的内容,请删除整行。这是我的代码,它似乎没有给我任何错误,但它不会删除我想要的行。我错过了什么 enter code here Dim i As Long Dim FinalRow As Long FinalRow = Cells(Rows.Count, 1).End(xlUp).Row With Worksheets("Archer Search Report") For i = 2 To FinalRow
enter code here
Dim i As Long
Dim FinalRow As Long
FinalRow = Cells(Rows.Count, 1).End(xlUp).Row
With Worksheets("Archer Search Report")
For i = 2 To FinalRow
If Range("C" & i).Value = "Draft" Then
Rows(i).Delete
End If
Next i
End With
试试这个:
Sub DeleteRows()
Dim i As Long, finalRow As Long
finalRow = Cells(Rows.Count, 1).End(xlUp).Row
With Worksheets("Archer Search Report")
For i = finalRow To 2 Step -1
If Range("C" & i).Value = "Draft" Then
Range("C" & i).EntireRow.Delete
End If
Next i
End With
End Sub
注:
- 删除时最好向后操作(
),否则会影响行数Step-1
- 我更喜欢
EntireRow.Delete
Sub DeleteRows()
Dim i As Long, finalRow As Long
finalRow = Cells(Rows.Count, 1).End(xlUp).Row
With Worksheets("Archer Search Report")
For i = finalRow To 2 Step -1
If Range("C" & i).Value = "Draft" Then
Range("C" & i).EntireRow.Delete
End If
Next i
End With
End Sub
注:
- 删除时最好向后操作(
),否则会影响行数Step-1
- 我更喜欢
EntireRow.Delete