我有这个非常简单的VBA代码,我用它来查找列中的某些文本并擦除整行。但由于某种原因,我每次运行它给我这个错误:运行时错误'424':所需的对象运行时错误424 - 所需的对象
任何线索?
Sub DeleteText()
Dim c As Range
Dim sArray(1 To 4) As String
sArray(1) = "TEXT 1"
sArray(2) = "TEXT 2"
sArray(3) = "TEXT 3"
sArray(4) = "TEXT 4"
Dim SrchRng
Set SrchRng = ActiveSheet.Range("A1", ActiveSheet.Range("A65536").End(xlUp))
For i = 1 To 4
Do
Set c = SrchRng.Find(What:=sArray(i), LookIn:=xlValues) ' <-- IT STOPS IN THIS LINE
If Not c Is Nothing Then c.EntireRow.Delete
Loop While Not c Is Nothing
Next i
End Sub
不知道,它只是对我很好。 –
奇怪的行为:如果我选择一个表中不存在的文本,它将显示没有错误。但只要我选择了一个存在的文本,错误就会回来。 –
当您删除行时,您会更改'SrchRng'指向的内容:最终您可能会删除所有单元格,因此它不再是有效的范围引用。一旦你达到那个点,任何对'SrchRange'的引用都会引发一个错误。 –