2015-02-06 4 views
1

Я использую excel 2013. Я не получаю отладочную опцию, когда есть ошибка времени выполнения. Как я могу получить отладочную опцию во время ошибок во время выполнения?Отсутствует опция отладки при ошибке выполнения VBA

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

скриншот ошибки -

код выглядит следующим образом -

Option Explicit 
Option Base 1 

Sub doit() 

Dim intRowCounter As Long 
Dim intColCounter As Long 
Dim parentFormula As String 
Dim resultantFormulas As String 

For intRowCounter = 1 To 100 
    For intColCounter = 1 To 200 

     'This is the line giving the error 
     parentFormula = Right(parentFormula, Len(parentFormula) - 1) 

    Next intColCounter 
Next intRowCounter 

End Sub 

Скриншот ошибки http://imgur.com/gC32z74

enter image description here

+0

можете ли вы проверить, что код vba не защищен? – Mike

+0

Да Майк, код VBA не защищен. В ошибках времени выполнения нет кнопки отладки. Просто нет опции отладки – waggy123

+1

Где ошибка? Какая у вас настройка в разделе «Инструменты»> «Параметры»> «Основные»> «Ловушка ошибок»? Используете ли вы обработчик ошибок в своем коде? –

ответ

1

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

Если я оставлю функцию на Рабочем листе, я могу установить параметры по-разному. Если я оставлю это на «Break on Unhandled Errors», я получаю сообщение об ошибке, если я сделаю это «Break on All Errors» или «Break in Class Module», после чего я получу параметр отладки при возникновении ошибки.

Смежные вопросы