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 🙂