Você sabia que é possível criar uma barra de progresso no Excel para monitorar seus códigos em VBA enquanto estão rodando?
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! Hoje vamos te mostrar como criar uma barra de progresso no Excel!
Com ela você vai conseguir ver o progresso do seu código dentro do Excel enquanto ele está funcionando.
E aí, prontos para ver como fazer para monitorar seus códigos enquanto eles estão sendo executados?
No arquivo disponibilizado para a aula de hoje, temos dados numa tabela de atendimentos de uma empresa.
Registros feitos são o ID do atendimento, sua data, qual o código do cliente, total de tempo gasto, e o atendente da empresa. Veja abaixo a tabela com algumas das informações:
Vamos utilizar um formulário em VBA personalizado, que vai simular simplesmente a barra de progresso para VBA.
Criados os objetos que vão compor o formulário, e feitas as devidas personalizações visuais, teremos o seguinte cenário:
Agora partiremos para o código que será responsável por configurar e programar de fato a nossa barra de progresso para monitorar códigos.
Ela será composta de uma sub principal com a estrutura de cálculo, e de 3 funções auxiliares: uma para invocar a abertura, outra para fazer os cálculos e configurar a barra, e outra para fechar o formulário.
A seguir temos os códigos, e os comentários:
Sub excluirLinhas()
Dim i As Long, ultLin As Long, cont As Long
ultLin = Range("A1048576").End(xlUp).Row
abrirBarraProgresso
cont = 1
For i = 2 To ultLin
If Cells(i, 1).Value = "" Then Exit For
Rows(i).Delete shift:=xlUp
progredirBarraProgresso (cont / (ultLin - 1))
DoEvents
cont = cont + 1
i = i - 1
Next
fecharBarraProgresso
End Sub
Comentários a respeito da sub excluirLinhas:
Function abrirBarraProgresso()
BarraDeProgresso.quadroProgresso.Width = 0
BarraDeProgresso.Show (vbModeless)
End Function
Function progredirBarraProgresso(andamento As Double)
widthTotal = 216
widthAtual = widthTotal * andamento
BarraDeProgresso.quadroProgresso.Width = widthAtual
BarraDeProgresso.textoAndamento.Caption = Round(andamento * 100, 0) & "% Completo"
End Function
Function fecharBarraProgresso()
Unload BarraDeProgresso
End Function
Assim, se encerra a nossa sub de como monitorar códigos em VBA.
A seguir, mostramos diversos momentos de funcionamento desse código que simula uma barra de progresso em VBA. Veja:
Hoje você aprendeu como criar barra de progresso no Excel!
Ela é constituída por um formulário em VBA, algumas estruturas famosas como a estrutura de repetição for e a estrutura condicional if, além de diversos conceitos legais de VBA.
Valeu, pessoal! 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.