Startseite » wie man » Wie beschränken Sie die CPU-Auslastung von Microsoft Excel, wenn Sie VBA-Funktionen ausführen?

    Wie beschränken Sie die CPU-Auslastung von Microsoft Excel, wenn Sie VBA-Funktionen ausführen?

    Wenn Sie über eine VBA-Funktion verfügen, die Microsoft Excel in ein CPU-Raubtier verwandelt, ist es möglich, die Dinge zu bändigen, so dass Sie Ihren Computer für andere Aktivitäten verwenden können, während Excel beendet wird. Der heutige SuperUser-Frage- und Antwortposten hilft, einem frustrierten Leser zu helfen, Excel wieder unter Kontrolle zu bringen.

    Die heutige Question & Answer-Sitzung wird dank SuperUser zur Verfügung gestellt - einer Unterteilung von Stack Exchange, einer Community-basierten Gruppierung von Q & A-Websites.

    Alien Warrior ClipArt mit freundlicher Genehmigung von Clker.com.

    Die Frage

    SuperUser reader learningAsIGo möchte wissen, ob es eine Möglichkeit gibt, die CPU-Nutzung von Microsoft Excel zu begrenzen, während ein VBA-Skript auf seinem Computer ausgeführt wird:

    Gibt es eine Möglichkeit, die CPU-Auslastung von Microsoft Excel einzuschränken, wenn es ausgeführt wird? Ich habe ein VBA-Skript, das eine große Anzahl von Formeln für riesige Arrays berechnet. Die gesamte Berechnung dauert ungefähr zwanzig Minuten und verbraucht 100 Prozent meiner CPU. Ich kann meinen Computer während dieser Zeit nicht verwenden und möchte, dass Excel 'im Hintergrund ausgeführt' wird, während ich etwa 50 Prozent der CPU-Kapazität ausnutze, sodass ich andere Aufgaben erledigen kann.

    Irgendwelche Vorschläge? Das Betriebssystem meines Computers ist Windows 7 Enterprise 64-Bit, auf dem eine 32-Bit-Version von 2007 installiert ist.

    Gibt es eine Möglichkeit, die CPU-Auslastung von Microsoft Excel während der Ausführung von VBA-Funktionen zu begrenzen?

    Die Antwort

    Der SuperUser-Mitarbeiter mtone hat die Antwort für uns

    Wenn eine VBA-Funktion aus mehreren Formeln aufgerufen wird oder wenn Ihr Skript die Neuberechnung mehrerer Formeln generiert oder erzwingt, sollten Sie unbedingt die Multithread-Berechnungsfunktion in Microsoft Excel verwenden. In diesem Fall würden Sie entweder mehrere Instanzen Ihrer VBA-Funktion für jede Formel ausführen oder mehrere Zellen gleichzeitig neu berechnen, während Ihr VBA-Skript in einem einzelnen Thread ausgeführt wird.

    Sie können die Anzahl der Threads einschränken, die von Excel zur Neuberechnung von Formeln verwendet werden, indem Sie zu gehen Optionen und das auswählen Abschnitt für Fortgeschrittene, Blättern Sie dann nach unten, bis Sie das Symbol erreichen Formeln Unterabschnitt.


    Haben Sie der Erklärung etwas hinzuzufügen? Sound off in den Kommentaren. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Hier geht es zum vollständigen Diskussionsthread.