Come si limita l'utilizzo della CPU di Microsoft Excel durante l'esecuzione delle funzioni VBA?
Se si dispone di una funzione VBA che trasforma Microsoft Excel in una bestia che mastica la CPU, è possibile domare le cose in modo da poter continuare a utilizzare il computer per altre attività mentre Excel sta finendo? Il post di Q & A di SuperUser di oggi arriva in soccorso per aiutare un lettore frustrato a riavere il controllo di Excel.
La sessione di domande e risposte di oggi ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di siti Web di domande e risposte basato sulla comunità.
Per gentile concessione di Alien Warrior Clker.com.
La domanda
Apprendimento del lettore SuperUserAsIGo vuole sapere se esiste un modo per limitare l'utilizzo della CPU di Microsoft Excel durante l'esecuzione di uno script VBA sul suo computer:
C'è un modo per limitare l'utilizzo della CPU di Microsoft Excel quando è in esecuzione? Ho uno script VBA che calcola una grande quantità di formule di array giganti. L'intera serie di calcoli richiede circa venti minuti per essere completata e utilizza il 100 percento della mia CPU. Non sono in grado di utilizzare il mio computer durante questo periodo e preferisco che Excel "venga eseguito in background" mentre utilizzo circa il 50 percento della capacità della mia CPU in modo che possa continuare a fare altre cose.
Eventuali suggerimenti? Il sistema operativo del mio computer è Windows 7 Enterprise 64-bit con una versione 2007 di Excel a 32 bit installata su di esso.
C'è un modo per limitare l'utilizzo della CPU di Microsoft Excel durante l'esecuzione di funzioni VBA?
La risposta
Collaboratore SuperUser mtone ha la risposta per noi:
Se una funzione VBA viene chiamata da diverse formule o se lo script genera o forza il ricalcolo di più formule, allora questo dovrebbe sicuramente fare uso della funzionalità di calcolo multi-thread in Microsoft Excel. Rispettivamente, questo potrebbe eseguire più istanze della funzione VBA per ogni formula, o ricalcolare più celle contemporaneamente mentre lo script VBA è in esecuzione su un singolo thread.
È possibile limitare il numero di thread utilizzati da Excel per ricalcolare le formule andando a Opzioni e selezionando il Sezione Avanzata, quindi scorrendo verso il basso fino a raggiungere il formule sottosezione.
Hai qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui.