【发布时间】:2020-06-15 19:20:58
【问题描述】:
我有一个循环,它从工作表的列表中打开多个文件,然后复制数据,其中一些文件已被删除,但我可以排除这些(运行时错误 1004)。然而,一些文件已损坏,错误处理程序正在崩溃。同样的错误,不同的原因。知道如何排除这些吗?这些数据没有用,需要跳过。
Sub EDITING LOOP()
Application.DisplayAlerts = False
Application.EnableEvents = False
Dim i As Long
With Workbooks("BOOK1.xlsb").Worksheets("SHEET1")
For i = 2 To 29
xfile = .Cells(i, 1)
On Error GoTo ErrHandler
Workbooks.Open (xfile)
Application.Goto Reference:="TABLE1"
Selection.copy
ActiveWindow.Close
ErrHandler:
If Err.Number <> 0 Then .Cells(i, 2) = "ERROR" Else .Cells(i, 2) = "OK"
.Cells(i, 3) = Err.Number
Err.Clear
' On Error Resume Next (TRIED BUT DIDN'T WORK)
' On Error GoTo 0 (TRIED BUT DIDN'T WORK)
Next
End With
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
【问题讨论】:
-
您好,我建议您阅读:cpearson.com/Excel/ErrorHandling.htm 即使您没有收到错误,也会执行您的错误块。我建议您将错误捕获放在循环之外。