循环遍历列来查找和删除行

我正在尝试创build一个自动化的方式来对文档进行一些清理。 我打开一个txt文件到excel中,然后将所有内容都转存到A列中。我写了一个脚本,将信息格式化成列。 然后我需要在文档中search一个文本string,在这一点上,我删除该行加上10行。 我已经设法做到这一点,但是当它到达没有更多的行与指定的文本点时,我得到一个运行时91错误。

只是一个小小的背景,我是使用VBAs的新手。 所以这可能是一个非常基本的修复。

我也在想,也许我可以运行一个查找这个文本string的macros,并首先删除行,这样它只能在列A中search而不是多列。

以下是我正在使用的代码。 几乎find它在网上,只是改变它,以适应我的需求

希望有人能告诉我我做错了什么或build议另一种方式来完成这项工作。

谢谢

Sub FindAndDelete() Dim found As Range Do Until found = False Set found = ActiveSheet.Columns("A:R").Find(what:="Based on Positions as of Month-End, No Pa", LookIn:=xlValues, lookat:=xlWhole) found.EntireRow.Select found.EntireRow.Delete ActiveCell.Offset(0, 0).EntireRow.Delete ActiveCell.Offset(0, 0).EntireRow.Delete ActiveCell.Offset(0, 0).EntireRow.Delete ActiveCell.Offset(0, 0).EntireRow.Delete ActiveCell.Offset(0, 0).EntireRow.Delete ActiveCell.Offset(0, 0).EntireRow.Delete ActiveCell.Offset(0, 0).EntireRow.Delete ActiveCell.Offset(0, 0).EntireRow.Delete ActiveCell.Offset(0, 0).EntireRow.Delete ActiveCell.Offset(0, 0).EntireRow.Delete Loop End Sub 

见解释说明

 Sub FindAndDelete() Dim rngFound As Range Do '/ Loop at least once before validating condition '/ Use Worksheet name/codename instead of ActiveSheet. Set rngFound = Sheet2.Columns("A:R").Find( _ what:="Based on Positions as of Month-End, No Pa", _ LookIn:=xlValues, lookat:=xlWhole) '/ Ensure that we found something. If Yes then delete '/ If you don't check this, error 91 pops up in case nothing is '/ found. If Not rngFound Is Nothing Then rngFound.EntireRow.Delete End If Loop While Not rngFound Is Nothing End Sub