Страницы: 1
RSS
Как игнорировать сообщение об ошибке в ходе макроса?
 
Доброй ночи, форумчане. Такая вот проблемма.
По ходу выполнения макроса, он должен выделить непустые строки с последней до первой.  По этому коду:

Rows("1:1").Delete
        LastRow = Cells.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
   Range(Cells(1, 1), Cells(LastRow, "bd")).Select

В том случае, если нет ни одной такой строки (пустой лист) появляется сообщение об ошибке (rine time errore 91).
Как подправить код, чтобы такая ситуация не останавливала макрос. Чтобы "ошибка" игнорировалась и он продолжал выполняться.
 
Первой строкой в макросе:
Код
On Error Resume Next


PS: Эта директива - наиболее часто встречающаяся строка в моих программах.
Она у меня даже добавляется в начало макроса автоматически, при создании новой процедуры или функции.
Изменено: EducatedFool - 21.01.2013 03:31:23
 
Если Вы знаете предполагаемое место, где может быть ошибка, то после этого места необходимо вставить вот эту строку:
Код
On Error GoTo 0


Если не поставить эту строчку, то макрос будет работать в режиме "Ошибка", и если далее в коде опять возникнет ошибка, то VBA не будет на неё реагировать. Другими словами, "On Error GoTo 0" возвращает VBA в нормальный режим.
There is no knowledge that is not power
 
Спасибо за советы.
Выбрал код от EducatedFool, поскольку им проще пользоваться.
Спасибо большое.
 
Цитата
maseur пишет:
Выбрал код от EducatedFool,
Код от EducatedFool - единственный в данной теме, поэтому непонятно, из чего Вы выбирали.

Цитата
maseur пишет:
поскольку им проще пользоваться.
А это тут причём? Я лишь предупредил о подводных камнях.
There is no knowledge that is not power
 
off: Кому проще??? Excel'ю??? :о))
Страницы: 1
Читают тему
Наверх