Cum limitezi utilizarea procesorului Microsoft Excel când rulează funcții VBA?
Dacă aveți o funcție VBA care transformă Microsoft Excel într-o bestie de procesare a procesorului, este posibil să înfruntați lucrurile 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 web Q & A.
Alien clip războinic clip art de curtoazie Clker.com.
Intrebarea
Cititorul de învățare SuperUserAsigo dorește să știe dacă există o modalitate de a limita utilizarea procesorului Microsoft Excel în timpul executării unui 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 computerul î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 computerului meu este Windows 7 Enterprise pe 64 de biți, cu o versiune de Excel pe 32 de biți din Excel instalată pe ea.
Există o modalitate de a limita utilizarea procesorului Microsoft Excel în timpul executării funcțiilor VBA?
Răspunsul
Contribuitorul superutilizatorului 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 aceasta ar trebui să facă 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 defilați până când ajungeți la Formulele sub-secțiunea.
Aveți ceva de adăugat la explicație? Sunați în comentariile. Doriți să citiți mai multe răspunsuri de la alți utilizatori de tehnologie Stack Exchange? Check out discuția completă aici.