If-Koubou

Jak ograniczyć użycie procesora Microsoft Excel podczas uruchamiania funkcji VBA?

Jak ograniczyć użycie procesora Microsoft Excel podczas uruchamiania funkcji VBA? (Jak)

Jeśli masz funkcję VBA, która przekształca program Microsoft Excel w bestię, która pogrąża się w procesorze CPU, czy możliwe jest oswojenie rzeczy, abyś mógł dalej używać komputera do innych działań, gdy program Excel kończy pracę? Dzisiejszy post z pytaniami SuperUser Q & A przychodzi na ratunek, aby pomóc sfrustrowanemu czytelnikowi odzyskać kontrolę nad Excelem.

Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, społecznościowego forum z pytaniami i odpowiedziami.

Obcy wojownik clip art dzięki uprzejmości Clker.com.

Pytanie

Uczenie się czytnika SuperUserAsIGo chce wiedzieć, czy istnieje sposób ograniczenia wykorzystania procesora Microsoft Excel podczas uruchamiania skryptu VBA na jego komputerze:

Czy istnieje sposób ograniczenia użycia procesora Microsoft Excel, gdy jest on uruchomiony? Mam skrypt VBA, który oblicza dużą liczbę gigantycznych formuł tablicowych. Cały zestaw obliczeń trwa około 20 minut i wykorzystuje 100 procent mojego procesora. W tym czasie nie mogę korzystać z komputera i wolałbym, aby program Excel działał w tle, podczas gdy zużywa on około 50 procent mocy obliczeniowej mojego procesora, aby móc nadal wykonywać inne czynności.

Jakieś sugestie? System operacyjny mojego komputera to Windows 7 Enterprise 64-bit z zainstalowaną na nim 32-bitową wersją programu Excel 2007.

Czy istnieje sposób ograniczenia wykorzystania procesora Microsoft Excel podczas działania funkcji VBA?

Odpowiedź

SuperUser contrybutor mtone ma dla nas odpowiedź:

Jeśli funkcja VBA jest wywoływana z kilku formuł lub jeśli skrypt generuje lub wymusza ponowną kalkulację kilku formuł, to zdecydowanie powinno korzystać z wielowątkowej funkcji obliczeniowej w programie Microsoft Excel. Odpowiednio, może to uruchomić wiele instancji funkcji VBA dla każdej formuły lub ponownie obliczać wiele komórek jednocześnie, podczas gdy skrypt VBA działa w jednym wątku.

Możesz ograniczyć liczbę wątków używanych przez program Excel do ponownego obliczania formuł, przechodząc do Opcje i wybierając Sekcja zaawansowana, a następnie przewijaj w dół, aż dotrzesz do Formuły podrozdział.

Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.