我有這個非常簡單的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'的引用都會引發一個錯誤。 –