Excel VBA пауза (Break / Stop) & възобновяване на макрос

Този урок ще покаже как да направите пауза (прекъсване) и да възобновите макрос в Excel.

Възможността да поставите на пауза макрос, докато тествате написания VBA код, е полезен начин да разберете къде може да има „грешки“ в нашия код. Има няколко начина, по които можем да прекъснем изпълнението на макроса и след това да го възобновим от точката, в която макросът е прекъснат.

Комбинацията от клавиатура Control и Break

Ако задържим клавиша за управление и след това натиснем клавиша Pause/Break, когато VBA кодът работи, кодът веднага ще спре със съобщение за отстраняване на грешки, предупреждаващо ни, че изпълнението на макроса е прекъснато.

След това можем да натиснем продължи бутон в диалоговия прозорец, който се появява, за да продължите да изпълнявате макроса. Като алтернатива, ако след това натиснем бутона Debug в диалоговия прозорец, макросът ще маркира позицията, където е спрял да работи. Като поставите мишката върху всички съществуващи променливи, тогава можем да видим какво се съхранява в променливите. Това може да бъде много полезно при отстраняване на грешки в нашия код.

След това можем да кликнете върху Бягай бутон в лентата (или натиснете F5 на клавиатурата), за да възобновите изпълнението на макроса.

Добавяне на точки на прекъсване към макроса

Преди да стартираме макроса, можем да вмъкнем точки на прекъсване в макроса, за да спрем макроса като специфични редове на кода.

Можем да стартираме кода, като кликнете върху Бягай бутон в лентата или чрез натискане F5 на клавиатурата. Макросът ще спре в точката на прекъсване.

Натиснете отново бутона Run (надписът сега ще продължи), за да възобновите макроса, или натиснете F5.

Възможно е в други случаи изпълнението на VBA макрос да се наложи да бъде поставено на пауза. Това може да стане и с помощта на методите Wait and Sleep. Тези методи се използват повече за забавяне на действителния напредък на макроса, вместо да се използват за отстраняване на грешки в действителния код.

Например този ред код ще забави изпълнението на макроса, докато не изминат още 5 секунди.

123 Приложение.изчакайте (Сега + TimeValue("0:00:05"))

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave