Debug - Работа над ошибками. — КиберПедия 

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Debug - Работа над ошибками.

2017-05-23 308
Debug - Работа над ошибками. 0.00 из 5.00 0 оценок
Заказать работу

Рассмотренный только что код макроса уже довольно сложен и не у всех новичков получится написать его с первого раза без ошибок. Поэтому для написания сложных макросов, особенно включающих циклические процедуры, нужно уметь запускать макрос в окне VBA-кодирования и выявлять «место поломки». Ниже рассмотрим основные приемы, которые помогут Вам быстро найти ошибки, допущенные в коде.

Если Вы не очень уверены в правильности написанного алгоритма, то перед первым запуском макроса его лучше протестировать:

· Сохраните книгу, в которой планируете запустить тест макроса, чтобы после теста закрыть ее без сохранения изменений

F ВАЖНО: действия макроса нельзя отменить! Обратите внимание: после того, как вы запустили даже самый легкий макрос, иконка отмены последних действий становится неактивной! Поэтому всегда убедитесь, что перед запуском макроса (особенно нового) Вы сохранили все открытые книги, чтобы Вы могли «откатить» файл до состояния «перед запуском макроса», просто закрыв его без сохранения и открыв заново.

· Перейдите в окно VBA-кодирования (Alt+F11 или Alt+F8).

· Найдите на панели инструментов закладку “Debug”.

Познакомимся с некоторыми командами из этой закладки:

· Step Into (F8) – это пошаговое выполнение макроса. В основном его используют, чтобы отследить результат выполнения команд макроса или значения какой-нибудь переменной, для чего полезно использовать окно

· Quick Watch (Shift+F9) – окно отслеживания значений введенных в него переменных.

· Add Watch – команда добавления в окно значений переменных.

· Toggle Breakpoint (F9) – установка критических точек кода, до которых Вам не интересно пошаговое выполнение макроса: тогда Вы сначала запускаете выполнение макроса, нажав на панели инструментов кнопку Run Sub (или функциональную клавишу F5) – макрос выполняет команды до установленной точки (BreakPoint), останавливается – и Вы можете либо посмотреть на значения переменных в окне Quick Watch, удостовериться в их корректности и продолжить выполнение макроса до конца (нажав или F5), - или просто начать пошаговое исполнение кода макроса, нажимая клавишу F8.

F Во время паузы в выполнении макроса, Вы можете открыть рабочее окно Excel и посмотреть на текущий результат работы макроса.

F Если Вы недовольны результатом работы макроса, Вы можете остановить его выполнение, нажав на панели инструментов кнопку Reset

· Снять BreakPoint можно повторным нажатием на нем клавиши F9 или выбрав в закладке Debug пункт «Clear All BreakPoints»

Рассмотрим работу с перечисленными командами на примере макроса «Сумма_итогов»

· Заходим в окно программирования VBA (Alt+F11 или Alt+F8).

· Выделяем переменную «Sum_Cur» – вызываем команду «Add Watch»

· В появившемся диалоговом окне нажимаем «ОК»

· Видим, что теперь внизу экрана появилось окно контрольных значений (см. рис7).

· Аналогичным образом добавляем в окно значений переменные End_Sum и Sum_Next.

· Жмем F8 и наблюдаем за пошаговой работой макроса.

· После пары итераций функции For мы убедились, что переменные рассчитываются корректно, формула суммы на рабочем листе записывается корректно – нажимаем F5 и ждем, когда макрос автоматически закончит процедуру.

 

Рисунок 7. Добавление переменных в окно Quick Watch.

 

Во время этого первого тестирования работы макроса, Вы обратили внимание, что внутри цикличной процедуры нам не очень интересны некоторые действия – поэтому поставим BreakPoints на строках

o Sum_Next = Obj_Cell.Row

o End_Sum = Sum_Next - Sum_Cur - 1

Теперь мы смело можем использовать только клавишу F5: каждый раз, когда макрос будет доходить до этих строк команд, он будет останавливаться и ждать следующего нажатия клавиш F5 или F8.

На рисунке 8 приведен пример работы макроса с установленными к нем BreakPoints:

ü Красным цветом отмечены строки кода, на которых установлен BreakPoint

ü Желтым отмечена строка кода, на которой сейчас остановился макрос

ü Внизу в окне значений показаны текущие значения контролируемых переменных.

Рисунок 8. Отслеживание значений переменных в окне Quick Watch.

 


Поделиться с друзьями:

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.