Como Medir o Tempo de Execução de Uma Macro no VBA

16 de abril de 2024 Atualizado 08 de julho de 2026 4 min de leitura
Como medir o tempo de execução de uma macro no VBA 5

Neste artigo você aprenderá como medir o tempo de execução de uma macro no VBA passo-a-passo.

Medir o tempo de execução de uma macro no VBA pode ser útil por várias razões. Uma delas é a otimização de desempenho das rotinas: ao medir o tempo de execução, podemos detectar quais partes da macro estão consumindo mais tempo. Isso permite otimizar essas seções para melhorar o desempenho geral da macro.

Outra abordagem é a identificação de problemas, visto que se uma macro está demorando mais do que o esperado para ser executada, medir o tempo de execução pode ajudar a identificar possíveis gargalos ou problemas de eficiência no código.

Podemos citar também as estimativas de tempo, visto que em alguns casos é importante ter uma estimativa precisa do tempo que uma macro levará para ser concluída. Isso pode ser necessário para planejar cronogramas ou comunicar expectativas realistas aos usuários em tempo de execução. Uma barra de progresso é uma aplicação prática viável.

Tratando-se de cenários, há também a comparação de alternativas: se estamos experimentando diferentes abordagens para realizar uma tarefa em uma macro, medir o tempo de execução de cada abordagem pode ajudar a determinar qual é mais eficiente, ou seja: podemos mensurar o tempo de cada rotina e assim eleger aquela mais eficiente, que não necessariamente será a que possui menos linhas de código (menos instruções).

Em relação ao decorrer do tempo de uso (médio ou longo prazo, por exemplo), podemos monitorar o desempenho ao passar do tempo: ao medir o tempo de execução regularmente, podemos monitorar a performance da macro ao longo de dias, semanas, meses etc. Isso pode ser útil para detectar degradações de desempenho à medida que o código é modificado ou à medida que o volume de dados manipulados pela macro aumenta.

Expostas algumas utilidades práticas da medição de tempo de execução de macros, este artigo propõe, usando o próprio VBA, uma forma de medir o tempo de execução de uma macro.

Sugestão para medir o tempo

Essencialmente: com base na rotina já existente, a solução para medição do tempo inicialmente registra a data e hora de início da execução da macro (bem no início da rotina). Por fim, após todas as instruções da macro original (que já tínhamos), subtrai da data e hora do término (encerrado o código original) a data e hora iniciais.

Considere a rotina a seguir que exporta um conjunto de PDFs.

Desejamos mensurar o tempo em que todo o processo é concluído. Começamos declarando uma variável chamada TempoInicial, usada para guardar a data e a hora do início de execução da macro. Note que esta variável recebe o valor da função Now para este fim.

Até o momento está é a nossa única alteração na macro original, da qual desejamos mensurar o tempo.

Já sabemos a data e hora de início de execução da macro. Agora precisamos saber a data e hora de término da execução para calcular esta diferença de tempo (tempo transcorrido).

Podemos adicionar uma última instrução para exibir em caixa de mensagem (MsgBox) a duração, provida pela diferença. A diferença é calculada com Now() – TempoInicial. Optamos por colocar esta diferença na função Format para exibir a duração com horas, minutos e segundos. O exposto neste parágrafo está destacado em vermelho no código a seguir. Está é a nossa segunda e última alteração no código original.

Ao executar a macro, teremos ao final a exibição do tempo transcorrido, revelando o tempo de execução por ela consumido.

Código VBA:

Sub MinhaRotina()

Dim TempoInicial		As Double

	TempoInicial = Now()

	'Aqui entra a sua rotina propriamente dita

	MsgBox Format(Now()-TempoInicial,"hh:mm:ss")

End Sub

Com base na imagem anterior concluímos que a macro demorou 6 segundos para “rodar”.

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

Perguntas frequentes

O material é realmente gratuito?

Sim. O acesso é gratuito e não exige cadastro.

Preciso ter o Excel instalado?

Recomendamos o Excel 2013 ou superior para todos os recursos.

Como faço para receber atualizações?

As atualizações são automáticas dentro da própria planilha.

Funciona no Excel do Mac?

Sim, funciona no Excel para Windows e para Mac.

Funciona no celular?

É possível visualizar no app do Excel; a edição completa é no computador.

Planilhas relacionadas

Planilha de Fluxo de Caixa

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado