Se você tem uma função VBA que transforma o Microsoft Excel em um monstro comedor de CPU, É possível domar as coisas para que você possa continuar a usar seu computador para outras atividades enquanto o Excel está terminando? A postagem de perguntas e respostas de superusuários de hoje é o resgate para ajudar um leitor frustrado a recuperar o controle do Excel.
A sessão de perguntas e respostas de hoje é cortesia de SuperUser, uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas voltado para a comunidade.
Galeria de imagens de guerreiros alienígenas cortesia de Clker.com.
A pergunta
O leitor superusuário learningAsIGo quer saber se há uma maneira de limitar o uso da CPU do Microsoft Excel ao executar um script VBA em seu computador:
Existe uma maneira de limitar o uso da CPU do Microsoft Excel quando ele está sendo executado? Eu tenho um script VBA que calcula um grande número de fórmulas de matriz gigante. O conjunto completo de cálculos leva aproximadamente vinte minutos para ser concluído e usa o 100 por cento da minha CPU. Não consigo usar meu computador durante esse período e prefiro que o Excel seja executado em segundo plano’ enquanto usava aproximadamente o 50 por cento da minha capacidade de CPU para que eu possa continuar a fazer outras coisas.
Alguma sugestão? O sistema operacional do meu computador é o Windows 7 Enterprise de 64 bits com uma versão 2007 a partir de 32 pedaços de excel instalados.
Existe alguma maneira de limitar o uso da CPU do Microsoft Excel durante a execução de funções VBA?
A solução
O parceiro superusuário mtone tem a solução para nós:
Se uma função VBA for chamada a partir de várias fórmulas ou se o seu script gerar ou forçar o recálculo de várias fórmulas, isso definitivamente deve fazer uso da função de cálculo multi-threaded no Microsoft Excel. Respectivamente, isso iria executar várias instâncias de sua função VBA para cada fórmula ou recalcular várias células simultaneamente enquanto seu script VBA está sendo executado em um único thread.
Você pode limitar o número de threads usados pelo Excel para recalcular fórmulas indo para Escolhas e selecionando o Seção avançadae, a seguir, role para baixo até chegar ao Fórmulas subseção.
Você tem algo a acrescentar à explicação? Fala nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui..