Относительно ответа Wolfwyrd: «On Error Resume Next» фактически отключает обработку ошибок! Не на. On Error Goto 0 снова включает обработку ошибок, потому что, по крайней мере, мы хотим, чтобы машина его ловила, если мы не записывали ее в себя. Выкл = оставляю это вам.
Если вы используете On Error Resume Next, вам нужно быть осторожным с тем, сколько кода вы добавляете после него: помните, фраза «If Err.Number <> 0 Then» относится только к самой предыдущей ошибке, вызванной.
Если в вашем блоке кода после «On Error Resume Next» есть несколько мест, в которых вы могли бы разумно ожидать, что он потерпит неудачу, то вы должны поместить «If Err.number <> 0» после каждой из этих возможных строк ошибок , чтобы проверить исполнение.
В противном случае, после «при возобновлении с ошибкой далее» означает только то, что написано: ваш код может завершиться с ошибкой на столько строк, сколько ему нужно, и выполнение будет продолжаться весело. Вот почему это боль в заднице.