Днешната сесия за въпроси и отговори ни идва с любезното съдействие на SuperUser - подразделение на Stack Exchange - обединяване на уеб сайтове с въпроси и отговори.
Alien войн clip art любезното съдействие на Clker.com.
Въпроса
LearningAsigo четец на суперусър иска да знае дали има начин да се ограничи използването на процесора на Microsoft Excel, докато се изпълнява скрипт за VBA на неговия компютър:
Is there a way to limit Microsoft Excel’s CPU usage when it is running? I have a VBA script that calculates a large amount of giant array formulas. The entire set of calculations takes approximately twenty minutes to complete and uses 100 percent of my CPU. I am unable to use my computer during this time and would rather have Excel ‘running in the background’ while using about 50 percent of my CPU’s capacity so that I can continue to do other things.
Any suggestions? My computer’s operating system is Windows 7 Enterprise 64-bit with a 2007 32-bit version of Excel installed on it.
Има ли начин да се ограничи използването на процесора на Microsoft Excel при изпълнение на функциите на VBA?
Отговорът
Сътрудникът на SuperUser mtone има отговора за нас:
If a VBA function is called from several formulas or if your script generates or forces the recalculation of several formulas, then this should definitely make use of the multi-threaded calculation feature in Microsoft Excel. Respectively, this would either run multiple instances of your VBA function for each formula, or recalculate multiple cells simultaneously while your VBA script is running on a single thread.
You can limit the number of threads used by Excel to recalculate formulas by going to Options and selecting the Advanced Section, then scrolling down until you reach the Formulas sub-section.
Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.