Wenn Sie eine VBA-Funktion haben, die Microsoft Excel in ein CPU-fressendes Biest verwandelt, Ist es möglich, Dinge zu zähmen, damit Sie Ihren Computer weiterhin für andere Aktivitäten verwenden können, während Excel fertig ist?? Der heutige Super User Q&A-Post kommt zur Rettung, um einem frustrierten Leser zu helfen, die Kontrolle über Excel zurückzugewinnen.
Die heutige Q&A-Sitzung kommt mit freundlicher Genehmigung von SuperUser, eine Unterabteilung von Stack Exchange, eine Community-gesteuerte Gruppierung von Frage-und-Antwort-Websites.
Bildergalerie von Alien-Kriegern mit freundlicher Genehmigung von Clker.com.
Die Frage
Der Superuser-Leser learningAsIGo möchte wissen, ob es eine Möglichkeit gibt, die CPU-Auslastung von Microsoft Excel zu begrenzen, während ein VBA-Skript auf Ihrem Computer ausgeführt wird:
Gibt es eine Möglichkeit, die CPU-Auslastung von Microsoft Excel zu begrenzen, wenn es ausgeführt wird?? Ich habe ein VBA-Skript, das eine große Anzahl von Formeln für riesige Arrays berechnet. Der vollständige Berechnungssatz dauert ungefähr zwanzig Minuten und verwendet die 100 Prozent meiner CPU. Ich kann meinen Computer während dieser Zeit nicht benutzen und ziehe es vor, Excel im Hintergrund laufen zu lassen’ beim Tragen grob die 50 Prozent meiner CPU-Kapazität, damit ich weiterhin andere Dinge tun kann.
Irgendein Vorschlag? Das Betriebssystem meines Computers ist Windows 7 Unternehmen de 64 Bits mit einer Version 2007 von 32 Excel-Bits installiert.
Gibt es eine Möglichkeit, die CPU-Auslastung von Microsoft Excel beim Ausführen von VBA-Funktionen zu begrenzen??
Die Lösung
Der mtone Superuser-Partner hat die Lösung für uns:
Wenn eine VBA-Funktion aus mehreren Formeln aufgerufen wird oder Ihr Skript die Neuberechnung mehrerer Formeln generiert oder erzwingt, dies sollte unbedingt die Multithread-Berechnungsfunktion in Microsoft Excel nutzen. Bzw, Dies würde mehrere Instanzen Ihrer VBA-Funktion für jede Formel ausführen oder mehrere Zellen gleichzeitig neu berechnen, während Ihr VBA-Skript in einem einzigen Thread ausgeführt wird.
Sie können die Anzahl der Threads begrenzen, die von Excel verwendet werden, um Formeln neu zu berechnen, indem Sie zu . gehen Auswahl und die Auswahl Fortgeschrittener BereichJa, nächste, scrollen Sie nach unten, bis Sie das erreichen Formeln Unterabschnitt.
Hast du der Erklärung noch etwas hinzuzufügen?? Sprich in den Kommentaren. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen?? Sehen Sie sich hier den vollständigen Diskussionsthread an..