Този урок ще покаже как да направите пауза (прекъсване) и да възобновите макрос в Excel.
Възможността да поставите на пауза макрос, докато тествате написания VBA код, е полезен начин да разберете къде може да има „грешки“ в нашия код. Има няколко начина, по които можем да прекъснем изпълнението на макроса и след това да го възобновим от точката, в която макросът е прекъснат.
Комбинацията от клавиатура Control и Break
Ако задържим клавиша за управление и след това натиснем клавиша Pause/Break, когато VBA кодът работи, кодът веднага ще спре със съобщение за отстраняване на грешки, предупреждаващо ни, че изпълнението на макроса е прекъснато.
След това можем да натиснем продължи бутон в диалоговия прозорец, който се появява, за да продължите да изпълнявате макроса. Като алтернатива, ако след това натиснем бутона Debug в диалоговия прозорец, макросът ще маркира позицията, където е спрял да работи. Като поставите мишката върху всички съществуващи променливи, тогава можем да видим какво се съхранява в променливите. Това може да бъде много полезно при отстраняване на грешки в нашия код.
След това можем да кликнете върху Бягай бутон в лентата (или натиснете F5 на клавиатурата), за да възобновите изпълнението на макроса.
Добавяне на точки на прекъсване към макроса
Преди да стартираме макроса, можем да вмъкнем точки на прекъсване в макроса, за да спрем макроса като специфични редове на кода.
Можем да стартираме кода, като кликнете върху Бягай бутон в лентата или чрез натискане F5 на клавиатурата. Макросът ще спре в точката на прекъсване.
Натиснете отново бутона Run (надписът сега ще продължи), за да възобновите макроса, или натиснете F5.
Възможно е в други случаи изпълнението на VBA макрос да се наложи да бъде поставено на пауза. Това може да стане и с помощта на методите Wait and Sleep. Тези методи се използват повече за забавяне на действителния напредък на макроса, вместо да се използват за отстраняване на грешки в действителния код.
Например този ред код ще забави изпълнението на макроса, докато не изминат още 5 секунди.
123 | Приложение.изчакайте (Сега + TimeValue("0:00:05")) |