Quando eu estava executando um sub Excel que demorava mais de 30 minutos, percebi que no Gerenciador de Tarefas, o Excel usava apenas de 35 a 55% da CPU.
Acredito que se o uso da CPU tivesse aumentado de alguma forma, o processo teria demorado menos. Existe uma maneira de aumentar o uso da CPU do Excel - ou de qualquer aplicativo?
Estou executando o Office de 64 bits no Windows 10 Pro de 64 bits.
Responder1
A resposta que você procura não é a que você deseja, infelizmente.
Embora as planilhas do Excel sejam calculadas em vários threads e possam utilizar até 100% da CPU, as macros do Excel são executadas em apenas um único thread.
Se a maior parte do processamento ocorrer inevitavelmente no VBA, o código poderá ser modificado para melhorar o desempenho.
Responder2
Eu tive exatamente esse problema mesmo quando NÃO estava executando uma macro/sub e o resolvi. Talvez outras pessoas tenham meu problema semelhante e precisem de uma solução para ele. O Gerenciador de Tarefas estava mostrando o Excel usando apenas cerca de 10% da minha CPU para uma planilha EXTREMAMENTE grande e com MUITO uso de fórmulas. O cálculo estava demorando 5 minutos quando o iniciei (eu uso o modo de cálculo manual). Pior ainda, inserir uma linha em uma tabela levava horas. Estou executando o Excel 365 de 64 bits.
Fiz duas coisas que resolveram. Talvez tenha sido o segundo passo abaixo (aumentar a prioridade do Excel) que resolveu sozinho, não tenho certeza. Essa etapa foi sugerida acima e parece não ter resolvido o problema de acelerar o processamento de macros para outras pessoas, então presumo que também pode não ter me ajudado (se eu tivesse feito isso sozinho). Li este tópico no final de minhas tentativas de resolver esse problema e não tentei a etapa dois sozinha (ou a primeira). Se isso não funcionar para você, tente todas as etapas abaixo. Pode ser a combinação que dá o ingresso.
Certifique-se de ter o "Estado máximo do processador" definido como 100% em "Gerenciamento de energia do processador" em "Configurações avançadas" de "Opções de energia" nas configurações de "Plano de energia" atualmente selecionadas. Se você não vir as configurações de gerenciamento de energia do processador nas configurações avançadas do seu plano de energia, será necessário adicioná-las. Consulte este link para "Por que estou perdendo o gerenciamento de energia do processador nas minhas opções de energia?" para obter instruções sobre como fazer isso: https://answers.microsoft.com/en-us/windows/forum/all/why-am-i-missing-the-processor-power-management/f5e30954-1843-464e-838b-015cc21d3ebd. Eu tive que fazer isso, incluindo modificar meu registro. Nota: Quando modifiquei meu registro pela primeira vez, não consegui adicionar os atributos DWORD onde especificado. Então executei o editor no modo de administrador (embora isso também não parecesse funcionar no início... mas funcionou quando tentei novamente... não sei por quê).
Defina sua prioridade para Excel como alta no gerenciador de tarefas seguindo as instruções fornecidas por IUnknown acima.
Não precisei fazer isso porque o Excel já estava configurado para isso para mim. No entanto, você deve ter certeza de que a faixa do Excel "Arquivo/Opções/Avançado/Fórmulas/Ativar configuração de cálculo multithread" está definida como "Usar todos os processadores neste computador". No meu caso, eram 16.
O uso da CPU do Excel saltou para 98% no Gerenciador de Tarefas! Espero que isso ajude alguém com esse problema ao simplesmente calcular sua planilha (ou seja, o problema não está relacionado a macro).
Responder3
Você pode definir a prioridade do processo para qualquer aplicativo, incluindo Excel. Para fazer isso: