![]() |
On Error GoTo ... But wait!
Hello;
Here's a simple illustration: ------------------------------------------------------- Sub Test_1() On Error GoTo myErrorHandler For MyIndex = 1 To 40 ....myCode1 Next myIndex ....myCode2 Exit Sub myErrorHandler: MsgBox "The non-linear multi-variant algorithm failed ..." End Sub -------------------------------------------------------- I would like to clear (or suppress) the Err object, if any run-time error occurs within the For loops, until the For loops are complete. If there's a run-time error for the current value of myIndex, then move to the next value of myIndex. If there's at least one error-free loop at the end of the For ... Next, then ignor any run-time error(s) which might have been encountered and resume next. If there is no viable solution (i.e.; no error-free loop at the end of the For ... Next), then GoTo myErrorHandler. Could someone please show how-to accomplish that? You might prefer to put the procedure in a separate routine to be called from within the For ... Next. Thank you kindly. |
On Error GoTo ... But wait!
Sub Test_1()
On Error Resume Next cnt = 0 For myIndex = 1 To 40 ' your code ' just before the next If Err.Number < 0 Then cnt = cnt + 1 Err.Clear End If Next myIndex If cnt = 40 Then GoTo myErrorHandler ' ....myCode2 Exit Sub myErrorHandler: MsgBox "The non-linear multi-variant algorithm failed ..." End Sub -- Regards, Tom Ogilvy "monir" wrote: Hello; Here's a simple illustration: ------------------------------------------------------- Sub Test_1() On Error GoTo myErrorHandler For MyIndex = 1 To 40 ....myCode1 Next myIndex ....myCode2 Exit Sub myErrorHandler: MsgBox "The non-linear multi-variant algorithm failed ..." End Sub -------------------------------------------------------- I would like to clear (or suppress) the Err object, if any run-time error occurs within the For loops, until the For loops are complete. If there's a run-time error for the current value of myIndex, then move to the next value of myIndex. If there's at least one error-free loop at the end of the For ... Next, then ignor any run-time error(s) which might have been encountered and resume next. If there is no viable solution (i.e.; no error-free loop at the end of the For ... Next), then GoTo myErrorHandler. Could someone please show how-to accomplish that? You might prefer to put the procedure in a separate routine to be called from within the For ... Next. Thank you kindly. |
On Error GoTo ... But wait!
Tom;
Absolutely perfect! Thank you very much fpr your help. "Tom Ogilvy" wrote: Sub Test_1() On Error Resume Next cnt = 0 For myIndex = 1 To 40 ' your code ' just before the next If Err.Number < 0 Then cnt = cnt + 1 Err.Clear End If Next myIndex If cnt = 40 Then GoTo myErrorHandler ' ....myCode2 Exit Sub myErrorHandler: MsgBox "The non-linear multi-variant algorithm failed ..." End Sub -- Regards, Tom Ogilvy "monir" wrote: Hello; Here's a simple illustration: ------------------------------------------------------- Sub Test_1() On Error GoTo myErrorHandler For MyIndex = 1 To 40 ....myCode1 Next myIndex ....myCode2 Exit Sub myErrorHandler: MsgBox "The non-linear multi-variant algorithm failed ..." End Sub -------------------------------------------------------- I would like to clear (or suppress) the Err object, if any run-time error occurs within the For loops, until the For loops are complete. If there's a run-time error for the current value of myIndex, then move to the next value of myIndex. If there's at least one error-free loop at the end of the For ... Next, then ignor any run-time error(s) which might have been encountered and resume next. If there is no viable solution (i.e.; no error-free loop at the end of the For ... Next), then GoTo myErrorHandler. Could someone please show how-to accomplish that? You might prefer to put the procedure in a separate routine to be called from within the For ... Next. Thank you kindly. |
All times are GMT +1. The time now is 01:20 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com