Как использовать обработку ошибок для моего кода Excel VBA - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь добавить обработку ошибок для одного из кода.Я назначаю лист с определенным именем объектам листа, теперь я пытаюсь добавить операторы OnError, если в случае, если пользователь изменяет имена листов, код должен изящно выйти из подпрограммы после отображения сообщения для исправления имен файлов.

Но проблема в том, что, поскольку я предоставляю структуру, как показано ниже, код дополнительного выхода всегда выполняется, даже если имя файла в порядке.

Проблема в том, что, поскольку я предоставляю подробности в структуре, как показано ниже, код дополнительного завершения всегда выполняется, даже если имя файла в порядке.

Private Sub DoSomething()

    On Error GoTo CleanFail

    '...code...

CleanExit:
    'cleanup code here
    Exit Sub

CleanFail:
    If Err.Number = 9 Then 'subscript out of range
        Err.Clear
        Resume Next
    Else
        MsgBox Err.Description
        Resume CleanExit
    End If
End Sub 
On Error GoTo ErrorFailLoad
    Set LoadSheet = Application.ActiveWorkbook.Worksheets("Load_Template")
ErrorExit:
  End Sub
ErrorFailLoad:
    MsgBox "Main File name must be Load_Template. Please change and re-run Macro"
    Resume ErrorExit



On Error GoTo ErrorFailEquip
    Set EquipSheet = Application.ActiveWorkbook.Worksheets("EQUIP")
ErrorExit:
  End Sub
ErrorFailEquip:
    MsgBox "Equipment File name must be EQUIP. Please change and re-run Macro"
    Resume ErrorExit

Я ожидаюкод, чтобы просто проверить, если имя файла не доступно, затем просто показать сообщение об ошибке и выйти.Фактические результаты - выход кода даже после правильного имени файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...