excel如何利用VBA功能删除有某关键词的行?

请教一下,我想通过excel的VBA功能实现删除有部分关键词的整行,比如A列,每行有关键词"性别","年龄","身高",按照如下代码,启动后,只能删除一部分行。比如A列有1000行,只是前几十行有关键词的删除了,后面的很多行没有变化,还需要点一次才能删除一次。

请问代码是不是有问题?怎么才能循环起来把整个A列有关键词的行都删除了?

Sub 删除指定内容行()
Dim fincell As Range
On Error Resume Next
Do
With ActiveSheet.Rows("3:65536")
Set findcell = .Cells.Find("性别", LookAt:=xlPart)
findcell.EntireRow.Delete
Set findcell = .Cells.Find("年龄", LookAt:=xlPart)
findcell.EntireRow.Delete
Set findcell = .Cells.Find("身高", LookAt:=xlPart)
findcell.EntireRow.Delete
End With
Loop Until findcell Is Nothing
End Sub

我给你写了下面的代码,你试试看:
Option Explicit

Sub 删除指定内容行()
Dim arr, i
If Cells(1, 1) = "" Then Cells(1, 1) = " "
arr = ActiveSheet.UsedRange
For i = UBound(arr) To 3 Step -1
If InStr(arr(i, 1), "性别") + InStr(arr(i, 1), "年龄") + InStr(arr(i, 1), "身高") > 0 Then Rows(i).Delete
Next i
End Sub
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-07-30
with行放do上面
end with放loop下面追问

感谢回答,但是按你说的测试了,效果跟之前一样。还是只删除了一部分。

相似回答