【发布时间】:2019-03-22 06:22:25
【问题描述】:
在以下代码中,如何在遇到错误后使循环在下一次迭代中继续 - 而不是下一行?
现在代码不会超过 x=0:
Sub skip_iteration()
Dim x As Long
For x = 5 To -5 Step -1
On Error GoTo errhandler:
Debug.Print 15 / x
Debug.Print "I don't want this to be printed on error"
Next x
errhandler:
If Err.Number = 11 Then
Debug.Print ("Error on " & x)
End If
End Sub
我已经研究了这个答案: Skip to next iteration in loop vba 等,但无法将其转换为我的代码。
【问题讨论】:
-
我喜欢你的简历
-
@QHarr -
Resume将导致无限循环。错误处理程序中的Resume Next是正确的处理方式。 -
@Vityata 正确。我的意思是在错误处理程序中。在这种情况下,Resume 和 Resume Next 有区别吗?原谅我的无知。 + 为您的解决方案。
-
@QHarr - 我知道(对于错误处理程序)。那里的
Resume会导致死循环。 -
@QHarr - 实际上,来自错误处理程序的这两个
Resume Next和Resume确实是一个有用的功能。我已经更新了示例。