Pular para o conteúdo

Tempo que a macro leva para rodar

Tempo que a macro leva para rodar

Quem utiliza macro em seus projetos no Excel as vezes sente que a macro não está lá tão rápida quanto se gostaria que fosse, e medir o tempo que a macro leva para rodar se torna algo importante para poder avaliar se alguma mudança no código deixa a coisa mais rápida ou mais lenta.

Além desse propósito, calcular o tempo que um código leva para executar também é útil para testar um trecho específico da macro e identificar qual a melhor maneira de escrevê-lo. Ou ainda, informar ao usuário quanto tempo o processo demorou para ser executado.

Seja qual for sua necessidade, eis a solução.


Calculando o tempo que a macro demora

Para calcular o tempo que um código leva para ser executado, utilizaremos um…. adivinha só…. código. Isso um código para contar o código, de que outra forma seria?

Podemos medir esse tempo de duas formas, caso o tempo de execução seja superior ou igual a 1 segundo, sugiro o seguinte código.

Código com duração superior ou igual a 1s

Sub Teste()
 Dim Tempo As Double
 Tempo = Now()
 
 'SEU CÓDIGO VAI AQUI
 
 MsgBox Now() - Tempo
End Sub

Neste, o resultado é exibido no formato hh:mm:ss em uma Msgbox na tela.

Agora, caso o seu código demora menos de 1 segundo para se executado e você está mais interessado em testar performance e diferença entre um código e outro. A macro a ser utilizada é essa seguinte.

Código com duração inferior a 1s

Sub Teste()
 Dim Tempo As Double
 Tempo = Timer
 
 'SEU CÓDIGO VAI AQUI
 
 MsgBox Round(Timer - Tempo, 4)
End Sub

Neste o resultado é exibido em forma de número com 4 casas decimais em uma Msgbox na tela.

O que você precisa fazer é simplesmente inserir o código que você deseja testar, quanto tempo leva para ser executado, no lugar onde diz: ‘SEU CÓDIGO VAI AQUI

Você também pode fazer alterações no código conforme sua necessidade, como por exemplo gravar o tempo de execução em uma célula ou variável ao invés de somente exibi-lo em uma Msgbox.

É só isso mesmo, simples assim, faça bom proveito 🙂


Acompanhe o Função Excel
facebook-logo youtube-logo googleplus-logo twitter-logo

Deixe um comentário ou uma dúvida