День добрый!
Обрабатываю большие цифро-буквенные массивы. Основной метод For Next IF. Полей много, для каждого свое условие. В данных встречаются разнообразные ошибки, на которых макрос спотыкается. Я сам могу отследить ошибку и поправить данные, потом перезапустить макрос. Но макрос нужен и пользователям, не владеющим vba.
Хочется сделать контроль ошибок без прерывания выполнения макроса. Чтобы после его выполнения все ячейки с ошибочными данными были подсвечены и выводились сообщения о количестве ошибок и их местоположении.
Увы, знаний vba на создание условий хватает, а на обработку ошибок - нет.
Прикладываю условный файл примера и код.
ActiveCell и Msgbox конечно же не работают
Обрабатываю большие цифро-буквенные массивы. Основной метод For Next IF. Полей много, для каждого свое условие. В данных встречаются разнообразные ошибки, на которых макрос спотыкается. Я сам могу отследить ошибку и поправить данные, потом перезапустить макрос. Но макрос нужен и пользователям, не владеющим vba.
Хочется сделать контроль ошибок без прерывания выполнения макроса. Чтобы после его выполнения все ячейки с ошибочными данными были подсвечены и выводились сообщения о количестве ошибок и их местоположении.
Увы, знаний vba на создание условий хватает, а на обработку ошибок - нет.
Прикладываю условный файл примера и код.
ActiveCell и Msgbox конечно же не работают
Код |
---|
Sub Err() On Error GoTo ErrorHandler For i = 1 To 8 Cells(i, 3) = Cells(i, 1) * 2 Next i For i = 1 To 8 Cells(i, 4) = Mid(Cells(i, 2), 2, 2) * 3 Next i Exit Sub ErrorHandler: On Error Resume Next ActiveCell.Interior.ColorIndex = 46 MsgBox "Количество ошибок .......", vbCritical MsgBox "Ячейки с ошибками .......", vbCritical Resume End Sub |