If-Koubou

Cum limitezi utilizarea procesorului Microsoft Excel când rulează funcții VBA?

Cum limitezi utilizarea procesorului Microsoft Excel când rulează funcții VBA? (Cum să)

Dacă aveți o funcție VBA care transformă Microsoft Excel într-o bestie de procesare a procesorului, este posibil să înfruntați lucrurile în jos astfel încât să puteți continua să utilizați computerul pentru alte activități în timp ce Excel se termină? Postul de astăzi SuperUser Q & A vine la salvare pentru a ajuta un cititor frustrat să primească Excel sub control.

Sesiunea de întrebări și răspunsuri din ziua de astăzi vine de la amabilitatea SuperUser - o subdiviziune a Stack Exchange, o grupare bazată pe comunitate a site-urilor Q & A.

Alien Warrior clip art de curtoazie de Clker.com.

Intrebarea

SuperUser cititor learningAsIGo vrea să știe dacă există o modalitate de a limita utilizarea procesorului Microsoft Excel în timp ce rulează un script VBA pe computerul său:

Există o modalitate de a limita utilizarea procesorului Microsoft Excel atunci când rulează? Am un script VBA care calculează o cantitate mare de formule gigantice de matrice. Întregul set de calcule durează aproximativ douăzeci de minute pentru a finaliza și utilizează 100% din procesorul meu. Nu pot să-mi folosesc calculatorul în această perioadă și ar fi mai degrabă să ruleze Excel în fundal în timp ce utilizează aproximativ 50% din capacitatea CPU-ului meu, astfel încât să pot continua să fac alte lucruri.

Orice sugestii? Sistemul de operare al calculatorului meu este Windows 7 Enterprise pe 64 de biți, cu o versiune de 32 de biți pe 2007 instalată pe el.

Există o modalitate de a limita utilizarea procesorului Microsoft Excel în timpul executării funcțiilor VBA?

Răspunsul

Contribuitorul lui SuperUser mtone are răspunsul pentru noi:

Dacă o funcție VBA este apelată din mai multe formule sau dacă scriptul dvs. generează sau forțează recalcularea mai multor formule, atunci acesta ar trebui să utilizeze cu siguranță caracteristica de calcul multi-threaded în Microsoft Excel. Respectiv, aceasta ar fi fie să ruleze mai multe instanțe ale funcției dvs. VBA pentru fiecare formulă, fie să recalculeze simultan mai multe celule în timp ce scriptul dvs. VBA rulează pe un singur fir.

Puteți limita numărul de fire utilizate de Excel pentru a recalcula formulele accesând Opțiuni și selectarea Secțiunea avansată, apoi derulând până când ajungeți la Formulele sub-secțiune.

Aveți ceva de adăugat la explicație? Sunați în comentarii. Doriți să citiți mai multe răspunsuri de la alți utilizatori de tehnologie Stack Exchange? Check out discuția completă aici.