Code execution has been interrupted - що за баг, Excel для всіх
Іноді при виконанні цілком робочого коду може виникнути помилка "Code execution has been interrupted ":

Чому взагалі виникає ця помилка? Точну відповідь на це питання я, на жаль, не дам. Тільки припущення: VBA теж зберігає всілякі логи під час роботи та звертається до різних бібліотек. І швидше за все в якийсь момент цього мотлоху набирається так багато, що VBE починає "підглинати" таким ось нестандартним чином, припускаючи, що ми намагаємося виконати паралельно два коди.
І головне: як помилку Code execution has been interrupted усунути? Я знаю два способи. Спосіб 1 - разовий Перед виконанням коду поставити рядок:
а після виконання (перед End Sub або в будь-якому місці, де може статися вихід із процедури) її повернути:
чим не подобається цей метод мені особисто: властивість EnableCancelKey відповідає за можливість обробки натискання клавіш під час виконання коду. Значення xlDisabled переводить VBA режим " глухої оборони " - тобто. він не буде реагувати на жодні натискання поки не завершиться виконання коду. Здогадалися, чим це загрожує? Правильно: якщо раптом потрапили в нескінченний цикл чи захотіли перервативиконання - нічого вийде, т.к. поєднання Ctrl+Break буде просто проігноровано.
Стаття допомогла? Поділися посиланням із друзями!