Ako obmedzíte využitie CPU programu Microsoft Excel pri spustení funkcií VBA?
Ak máte funkciu VBA, ktorá zmení program Microsoft Excel na procesor, ktorý sa chystá skĺznuť, je možné vykoreniť veci tak, aby ste mohli pokračovať v používaní počítača pre iné činnosti, zatiaľ čo program Excel skončí? Dnešný príspevok SuperUser Q & A prichádza na záchranu, aby pomohol frustrovanému čitateľovi vrátiť Excel späť pod kontrolu.
Dnešná relácia otázok a odpovedí sa k nám pridelí zdvorilosťou SuperUser - podskupiny Stack Exchange, zoskupenia webových stránok typu Q & A.
Cudzinec bojovník clip art s láskavým dovolením Clker.com.
Otázka
Reader SuperUser learningAsIGo chce vedieť, či existuje spôsob, ako obmedziť využitie procesora Microsoft Excel pri spustení skriptu VBA na svojom počítači:
Existuje spôsob, ako obmedziť využitie procesora v programe Microsoft Excel, keď je spustený? Mám skript VBA, ktorý vypočítava veľké množstvo obrovských maticových vzorcov. Celá sada výpočtov trvá približne dvadsať minút na dokončenie a používa 100 percent svojho procesora. V tomto čase nedokážem používať môj počítač a radšej by mal program Excel "bežať na pozadí" a zároveň by mal využívať približne 50% kapacity môjho CPU, aby som mohol aj naďalej robiť iné veci.
Nejaké návrhy? Operačný systém môjho počítača je 64-bitový systém Windows 7 Enterprise s nainštalovanou 32-bitovou verziou programu Excel 2007.
Existuje spôsob, ako obmedziť používanie procesora Microsoft Excel pri spustení funkcií VBA?
Odpoveď
Príslušník SuperUser mtone má odpoveď pre nás:
Ak je funkcia VBA vyvolaná z niekoľkých vzorcov alebo ak váš skript generuje alebo núti prepočítať niekoľko vzorcov, potom by to malo určite využiť funkciu výpočtu s viacerými závitmi v programe Microsoft Excel. To znamená, že by ste buď spustili viacero inštancií funkcie VBA pre každý vzorec, alebo prepočítali viacero buniek súčasne, zatiaľ čo váš skript VBA beží na jedinom vlákne.
Môžete obmedziť počet vlákien, ktoré používa program Excel na prepočítanie vzorcov prejdením na možnosti a výberom Pokročilá časť, potom sa posúvajte nadol, kým sa nedostanete vzorca sub-sekcie.
Máte niečo doplniť vysvetlenie? Znie to v komentároch. Chcete sa dozvedieť viac odpovedí od iných používateľov technickej úrovne Stack Exchange? Pozrite sa na celý diskusný príspevok tu.