sexta-feira, 29 de agosto de 2025

Usando o Application.DisplayStatusBar para acompanhar o progresso da automação


 

📘 Excel VBA na Prática: Usando o Application.DisplayStatusBar para acompanhar o progresso da automação

Quando rodamos uma macro em planilhas grandes (com centenas de milhares de linhas), muitas vezes o usuário fica sem saber se o processo está andando ou travado.

👉 Para melhorar a experiência, podemos usar o comando:

Application.DisplayStatusBar

Ele permite exibir mensagens personalizadas na barra de status do Excel, mostrando o progresso da execução da macro em tempo real. 🚀


🔎 Definição

O Application.DisplayStatusBar é uma propriedade do Excel VBA que controla a exibição da barra de status.
Além disso, podemos atribuir mensagens diretamente a Application.StatusBar para informar o que está acontecendo no processo.


🛠️ Exemplo prático: Processando 500.000 linhas com barra de progresso

Sub ProcessarLinhasComStatus() Dim wb As Workbook Dim ws As Worksheet Dim ultimaLinha As Long Dim i As Long Dim perc As Double ' Define a planilha Set wb = ThisWorkbook Set ws = wb.Sheets("Dados") ' Encontra a última linha ultimaLinha = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row ' Garante que a barra de status esteja ativa Application.DisplayStatusBar = True ' Loop pelas linhas For i = 1 To ultimaLinha ' --- Aqui você coloca o que será processado --- ' Exemplo: apenas lendo a célula Dim valor As Variant valor = ws.Cells(i, 1).Value ' Calcula percentual perc = (i / ultimaLinha) * 100 ' Atualiza a barra de status Application.StatusBar = "Processando linha " & i & " de " & ultimaLinha & _ " (" & Format(perc, "0.00") & "% concluído)" ' Simulação de tempo de processamento DoEvents Next i ' Restaura a barra de status para o padrão Application.StatusBar = False End Sub

O que acontece aqui?

  • O Excel percorre todas as linhas da planilha.

  • A cada iteração, a barra de status mostra:

    • O número da linha atual.

    • O total de linhas.

    • O percentual concluído.

  • No final, a barra de status é restaurada ao normal.


⚠️ Dica de ouro:

Sempre finalize seu código com:

Application.StatusBar = False

Assim, a barra volta ao comportamento padrão do Excel.


💡 Resumo rápido:
Com o Application.DisplayStatusBar e o Application.StatusBar, você pode criar um indicador de progresso para grandes automações no Excel. Isso torna sua macro mais profissional, intuitiva e amigável para o usuário.

🚀 Perfeito para processar grandes volumes de dados sem deixar o usuário perdido!


👉 Gostou da dica? Continue acompanhando o blog para mais truques de VBA no Excel que transformam sua experiência em automação! 🔥

Nenhum comentário:

Postar um comentário