Вы можете создать раздел обхода (обработка ошибок), чтобы при возникновении ошибки он выполнял действия, указанные в c фрагменте кода, а затем продолжал с того места, где вы были.
Sub Test
dim E1 as boolean
dim E2 as boolean
dim E3 as boolean
[any other code here]
On Error goto Err1Fail
Statement1
ResumeErr1Fail:
On Error Goto Err2Fail
Statement2
ResumeErr2Fail:
On Error Goto Err3Fail
Statement3
ResumeErr3Fail:
On Error Goto 0
[rest of code]
Exit Sub
'Error Handling Section
Err1Fail:
E1 = TRUE
resume ResumeErr1Fail
exit sub
Err2Fail:
E2 = TRUE
resume ResumeErr2Fail
exit sub
Err3Fail:
E3 = TRUE
resume ResumeErr3Fail
exit sub
End Sub
В [ остальная часть кода], затем вы можете оценить E1, E2 и E3, чтобы делать с ними все, что вам нужно.