Você já conhece a função Timer no VBA? Quer aprender como fazer contagem e fazer o VBA esperar com essa função?
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Fala, Impressionadores! Nessa aula você vai aprender como criar um contador no VBA e como fazer o VBA esperar!
O contador no VBA funciona de forma que se possa contar o tempo de execução de um código. Dessa forma, você vai conseguir analisar quanto tempo demora para executar o código.
Vamos ver também como fazer uma espera no VBA. Ou seja, como pausar no VBA para esperar um determinado tempo.
E aí, curioso? Vem que te mostramos!
Como criar um contador no VBA?
A ideia aqui é, através de uma função específica nativa do VBA, a função Timer, marcar os tempos inicial, e final.
A função Timer vai marcar, em segundos, o momento inicial do código, e o momento final.
Com os pontos iniciais e finais do código, bastaria ver quantos segundos se passaram entre os dois momentos.
O código abaixo fazer o que estamos esperando, que é programar a criação de contador no VBA. Acompanhe com a gente:
Sub vbaTimerTempoTotal()
Dim tempoIni As Double, tempoTotal As Double
Dim i As Long
tempoIni = Timer
'For i = 1 To 100000
' Cells(i, 1).Value = "Teste"
'Next i
Range("A1:A100000").Value = "Teste"
tempoTotal = Timer - tempoIni
MsgBox "Concluído em " & tempoTotal & " segundos!"
End Sub
Comentários a respeito do código:
Inicialmente o código, usando a estrutura de repetição do tipo For, resultava em:
Com uma alternativa mais rápida identificada, resulta agora em:
Essa “forma” de estruturar o código, marcando o seu tempo de duração, faz com que você teste outras soluções para realizar o mesmo feito.
Assim, pode encontrar formas mais rápidas de realizar tais ações desejadas, com seu código.
E como fazer o VBA esperar?
A ideia agora, é através da mesma função mostrada anteriormente, a função Timer, fazer o VBA esperar um tempo, para assim continuar.
Existem algumas situações que precisamos esperar alguns segundos, até algo estar pronto para o código desempenhar suas ações.
O código apresentado abaixo pretende mostrar um exemplo de código de pausa no VBA. Observe:
Sub vbaTimerPausa()
Dim tempoIni As Double, tempoPausa As Double
tempoPausa = 2 'segundos
MsgBox ("Clique em Ok para iniciar os " & tempoPausa & " segundos de pausa.")
tempoIni = Timer
Do While Timer < tempoIni + tempoPausa
DoEvents
Loop
MsgBox "Terminou a pausa de " & tempoPausa & " segundos!"
End Sub
Comentários a respeito do código:
Nessa aula você aprendeu criar contador no VBA! Com a função VBA Timer, nativa do VBA, que te ajuda a montar esse contador!
Também viu como fazer o VBA esperar por um tempo determinado por você! Em algumas situações você pode precisar inserir isso nos seus códigos.
Valeu, Impressionadores! Fique ligado no nosso canal do Youtube para mais conteúdo de VBA!
Para acessar outras publicações de VBA, clique aqui!
Expert em VBA e Power BI da Hashtag Treinamentos. Auxilia no suporte aos alunos da Hashtag Treinamentos e na criação de conteúdos para os que acompanham nossos canais.