Запуск макросов в фоновом режиме (Microsoft Excel)
Когда вы запускаете макрос в Excel, программа уделяет все свое внимание завершению макроса. (Звучит почти антропоморфно, не так ли?) Это означает, что, если макрос выполняет достаточно тяжелую обработку ваших данных, может показаться, что ваша система «заблокирована» во время обработки макроса.
Однако будьте уверены, что обработка макросов влияет только на Excel.
Вы можете открыть другое приложение и работать в нем, пока фрагменты макроса будут работать в Excel в фоновом режиме. Конечно, внимание, уделяемое макросу вашей системой, вероятно, замедлит реакцию другой программы, но это зависит от версии Windows, которую вы используете в своей системе. Причина? Совместное использование ресурсов требует процесса, известного как multitasking. Различные версии Windows обрабатывают многозадачность по-разному.
Вы можете задаться вопросом, как вы можете выполнять другую работу в Excel, когда программа занята выполнением макроса. Легко — просто откройте еще один экземпляр Excel (снова запустите его из меню «Пуск») и выполните другую работу. Все, что вам нужно сделать, это убедиться, что вы не пытаетесь работать с той же книгой (или книгами), которая используется макросами в вашем первом экземпляре Excel.
Еще один способ немного поработать — немного изменить макрос.
Скорее всего, если ваш макрос выполняется в течение длительного периода, это связано с тем, что он выполняет цикл определенного типа. Добавив в цикл команду DoEvents, макрос временно приостановит выполнение и вернет управление процессам пользователя. Итак, если вы нажали клавишу, щелкнули мышью или начали что-то печатать, DoEvents заметит это и выполнит все задачи, необходимые для выполнения того, что вы хотите.
Когда весь пользовательский ввод обработан, макрос благополучно продолжает свой путь.
Добавление DoEvents несколько замедляет ваш макрос, но позволяет вам немного продолжить работу. (Поймите, что Excel по-прежнему будет работать медленно; ваш макрос требует ресурсов для выполнения.) Добавление DoEvents также может предоставить возможность выйти из макроса (используя Ctrl + Break) контролируемым образом.
Однако помните, что вы можете выяснить, что лучше всего работает в вашей ситуации, только путем тестирования (и дополнительного тестирования).
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (8971) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Running_Macros_in_the_Background [Запуск макросов в фоновом режиме]
.