Начална » как да » Как ограничавате използването на процесора на Microsoft Excel при изпълнение на VBA функции?

    Как ограничавате използването на процесора на Microsoft Excel при изпълнение на VBA функции?

    Ако имате VBA функция, която превръща Microsoft Excel в зъб на процесора, възможно ли е да укротите нещата така, че да можете да продължите да използвате компютъра си за други дейности, докато Excel завършва? Днешната публикация на суперпотребителите и спасителите идва на помощ, за да помогне на разочарован читател да върне Excel под контрол.

    Днешната сесия за въпроси и отговори идва при нас с любезното съдействие на SuperUser - подразделение на Stack Exchange, групирано от общността уеб сайтове за въпроси и отговори.

    Alien воин клип изкуство любезност на Clker.com.

    Въпроса

    Обучение на SuperUser четец ASIGo иска да знае дали има начин да се ограничи използването на процесора на Microsoft Excel, докато изпълнява VBA скрипт на компютъра си:

    Има ли начин да се ограничи използването на процесора на Microsoft Excel, когато той работи? Имам VBA скрипт, който изчислява голямо количество гигантски масиви. Целият набор от изчисления отнема около двадесет минути, за да завърши и използва 100% от моя CPU. Не мога да използвам компютъра си през това време и бих предпочел Excel да работи на заден план, докато използвам около 50% от капацитета на моя процесор, за да мога да продължа да правя други неща.

    Някакви предположения? Операционната система на компютъра ми е 64-битова версия на Windows 7 Enterprise с инсталирана 32-битова версия на Excel на 2007 г. в нея.

    Има ли начин да се ограничи използването на процесора на Microsoft Excel, докато се изпълняват VBA функции?

    Отговорът

    Mtone на сътрудника на SuperUser има отговор за нас:

    Ако VBA функция се извиква от няколко формули или ако вашият скрипт генерира или принуждава преизчисляването на няколко формули, то това определено трябва да се възползва от функцията за изчисление на много нишки в Microsoft Excel. Съответно, това или ще изпълни няколко копия на функцията VBA за всяка формула, или ще преизчисли няколко клетки едновременно, докато скриптът на VBA работи на една нишка.

    Можете да ограничите броя на нишките, използвани от Excel, за да преизчислите формулите, като отидете на Настроики и изберете Разширена секция, след това превъртете надолу, докато стигнете до Формули подраздел.


    Имате ли какво да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други технологични потребители на Stack Exchange? Вижте пълната тема за дискусия тук.