Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Топ:
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Интересное:
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Дисциплины:
2017-05-23 | 346 |
5.00
из
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
Рассмотренный только что код макроса уже довольно сложен и не у всех новичков получится написать его с первого раза без ошибок. Поэтому для написания сложных макросов, особенно включающих циклические процедуры, нужно уметь запускать макрос в окне 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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!