Если у вас есть функция VBA, которая превращает Microsoft Excel в зверя, жующего процессор, можно ли приручить вещи, чтобы вы могли продолжать использовать свой компьютер для других действий, пока Excel заканчивает работу? Сегодняшняя статья SuperUser Q & A приходит на помощь, чтобы помочь разочарованному читателю вернуть Excel под контроль.
Сегодняшняя сессия вопросов и ответов приходит к нам благодаря SuperUser – подразделению Stack Exchange, группы веб-сайтов вопросов и ответов, управляемой сообществом.
Клип-фотография “Чужой воин” любезно предоставлена Clker.com .
Вопрос
Читатель SuperUser learningAsIGo хочет знать, есть ли способ ограничить использование ЦП Microsoft Excel при запуске сценария VBA на его компьютере:
Есть ли способ ограничить использование процессора в Microsoft Excel, когда он работает? У меня есть сценарий VBA, который рассчитывает большое количество гигантских формул массива. Весь набор вычислений занимает около двадцати минут и использует 100 процентов моего процессора. Я не могу использовать свой компьютер в это время и предпочел бы, чтобы Excel работал в фоновом режиме, используя около 50 процентов мощности моего ЦП, чтобы я мог продолжать заниматься другими делами.
Какие-либо предложения? Операционная система моего компьютера – Windows 7 Enterprise 64-bit с установленной на нем 32-битной версией Excel 2007 года.
Есть ли способ ограничить использование процессора в Microsoft Excel при выполнении функций VBA?
Ответ
Участник SuperUser Mtone имеет ответ для нас:
Если функция VBA вызывается из нескольких формул или если ваш сценарий генерирует или форсирует пересчет нескольких формул, то для этого обязательно следует использовать функцию многопоточных вычислений в Microsoft Excel. Соответственно, это будет либо запускать несколько экземпляров вашей функции VBA для каждой формулы, либо пересчитывать несколько ячеек одновременно, пока ваш скрипт VBA выполняется в одном потоке.
Вы можете ограничить число потоков, используемых Excel для пересчета формул, перейдя в Параметры и выбрав Расширенный раздел , а затем прокручивая вниз до достижения Формул подраздел.
Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других опытных пользователей Stack Exchange? Ознакомьтесь с полной веткой обсуждения здесь.