Как защитить лист, если код не работает из-за ошибки VBA? - PullRequest
0 голосов
/ 09 января 2020

У меня есть лист Excel со многими подпрограммами, иногда они терпят неудачу, и я исследую проблему и исправляю ее. Однако, когда подпрограмма завершается неудачно, код никогда не завершается, а иногда он оставляет мой лист незащищенным. Есть ли способ защитить лист в случае ошибки VBA?

1 Ответ

0 голосов
/ 09 января 2020

См. Комментарии к коду и настройте его так, чтобы он включал ваш код

Public Sub TestErrAndProtect()

' This line tells what to do and where to go when an error is raised
On Error GoTo CleanFail

    ' Your code goes here


CleanExit:
    ' Adjust ActiveSheet to the codename of the sheet if needed (see https://stackoverflow.com/a/52721327/1521579)
    ActiveSheet.Protect
    ' This line tells the program to exit the procedure
    Exit Sub

CleanFail:
    ' This line shows the error description in a message box
    MsgBox Err.Description
    ' This line tells the program to go to a label
    Resume CleanExit
End Sub

Дайте мне знать, если он работает, и не забудьте пометить ответ, если он есть.

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