Как управлять случаем отсутствия ошибок при обработке ошибок в VBA?

Мне нужно отловить некоторые ошибки VBA с помощью инструкции GoTo:

Sub mySub
 On Error GoTo errorHandler:
    Workbooks.Open("myWorkbook")
'
' Some Code
'
errorHandler:
MsgBox "ERROR"

End Sub

Проблема в том, что при отсутствии ошибки выполняется секция errorHandler.
Я нашел это обсуждение , но ответ не решает мою проблему.
Я попытался добавить оператор Exit Sub, как объяснено :

Sub mySub
 On Error GoTo errorHandler:
    Workbooks.Open("myWorkbook")
    Exit Sub

'
' Some Code
'
errorHandler:
  MsgBox "ERROR"

End Sub

. В этом случае он выходит из метода, когда нет ошибки. Я также пробовал:

 Sub mySub
 On Error GoTo errorHandler:
    Workbooks.Open("myWorkbook")
'
' Some Code
'
errorHandler:
  MsgBox "ERROR"
  Exit Sub
End Sub

Но все та же проблема :errorHandlerвыполняется, даже если ошибок не возникает.

7
задан M3HD1 30 September 2019 в 09:18
поделиться