Se hai una funzione VBA che trasforma Microsoft Excel in una bestia che mangia CPU, È possibile domare le cose in modo da poter continuare a utilizzare il computer per altre attività mentre Excel sta finendo?? Il post di domande e risposte dei super utenti di oggi viene in soccorso per aiutare un lettore frustrato a riprendere il controllo di Excel.
La sessione di domande e risposte di oggi ci arriva per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento guidato dalla comunità di siti web di domande e risposte.
Galleria di immagini del guerriero alieno per gentile concessione di Clker.com.
La domanda
Il lettore superutente learningAsIGo vuole sapere se esiste un modo per limitare l'utilizzo della CPU di Microsoft Excel durante l'esecuzione di uno script VBA sul computer:
C'è un modo per limitare l'utilizzo della CPU di Microsoft Excel quando è in esecuzione?? Ho uno script VBA che calcola un gran numero di formule di array giganti. L'intero set di calcoli richiede circa venti minuti per essere completato e utilizza il 100 percento della mia CPU. Non posso usare il mio computer durante questo periodo e preferisco avere Excel "in esecuzione in background"’ mentre indossa all'incirca il 50 percento della capacità della mia CPU in modo da poter continuare a fare altre cose.
Qualche suggerimento? Il sistema operativo del mio computer è Windows 7 Enterprise de 64 bit con una versione 2007 a partire dal 32 bit di excel installati.
Esiste un modo per limitare l'utilizzo della CPU di Microsoft Excel durante l'esecuzione delle funzioni VBA??
La soluzione
Il partner mtone superuser ha la soluzione per noi:
Se una funzione VBA viene chiamata da più formule o se il tuo script genera o forza il ricalcolo di più formule, questo dovrebbe sicuramente utilizzare la funzione di calcolo multi-thread in Microsoft Excel. Rispettivamente, questo eseguirebbe più istanze della tua funzione VBA per ogni formula o ricalcolerebbe più celle contemporaneamente mentre lo script VBA è in esecuzione in un singolo thread.
Puoi limitare il numero di thread utilizzati da Excel per ricalcolare le formule andando su scelte e selezionando il Sezione avanzatae, prossimo, scorri verso il basso fino a raggiungere formule sottosezione.
Hai qualcosa da aggiungere alla spiegazione?? Parla nei commenti. Vuoi leggere più risposte da altri utenti di Stack Exchange esperti di tecnologia? Dai un'occhiata al thread di discussione completo qui..