22Aug

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? Oggi SuperUser Q & Un post viene in soccorso per aiutare un lettore frustrato a riavere il controllo di Excel.

Today's Question &La sessione di risposta ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di Q & A basato su community.

ClipArt Alien Warrior per gentile concessione di Clker.com .

La domanda

SuperUser reader learningAsIGo vuole sapere se c'è un modo per limitare l'utilizzo della CPU di Microsoft Excel mentre si esegue 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.

Qualche suggerimento? Il sistema operativo del mio computer è Windows 7 Enterprise 64-bit con una versione 2007 di Excel a 32 bit installata su di esso.

Esiste un modo per limitare l'utilizzo della CPU di Microsoft Excel durante l'esecuzione delle funzioni VBA?

La risposta

SuperUser contributor 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 funzione di calcolo multi-thread inMicrosoft Excel. Rispettivamente, questo eseguirà più istanze della funzione VBA per ogni formula o ricalcoli 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 su Options e selezionando Advanced Section, quindi scorrendo verso il basso fino a raggiungere la sottosezione Formule .

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.