Główna » jak » W jaki sposób ograniczyć użycie procesora Microsoft Excel podczas uruchamiania funkcji VBA?

    W jaki sposób ograniczyć użycie procesora Microsoft Excel podczas uruchamiania funkcji VBA?

    Jeśli masz funkcję VBA, która zamienia Microsoft Excel w bestię udającą się w procesor 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, opartego na społecznościach grupowania witryn 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 dwudziestu 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 korzystania z około 50% pojemności 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 odpowiedź dla nas:

    Jeśli funkcja VBA jest wywoływana z kilku formuł lub jeśli skrypt generuje lub wymusza ponowne obliczenie kilku formuł, to zdecydowanie powinno korzystać z wielowątkowej funkcji obliczeniowej w programie Microsoft Excel. Odpowiednio, byłoby to albo uruchomienie wielu wystąpień funkcji VBA dla każdej formuły, albo ponowne obliczenie wielu komórek jednocześnie, podczas gdy skrypt VBA działa na pojedynczym wątku.

    Możesz ograniczyć liczbę wątków używanych przez program Excel do ponownego przeliczania formuł, przechodząc do Opcje i wybierając Sekcja zaawansowana, 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.