ProgressBar no Excel

MR
Marcos Rieper

Especialista em Excel

29 de março de 2021 Atualizado 08 de julho de 2026 4 min de leitura
Como-criar-uma-progressbar-excel-vba

ProgressBar no Excel

Veja como criar uma progressbar no Excel.

Neste artigo você verá como criar uma barra de progresso no VBA Excel para indicar a situação de um determinado processamento ao seu cliente de forma visual e fácil.

No exemplo fazemos a barra de progresso no Excel de duas formas: Na planilha e em formulário VBA.

Progressbar Excel 1

Como Colocar uma ProgressBar no Excel?

Ás vezes temos rotinas que demoram muito no Excel, e colocar uma barra de progresso no Excel é uma boa maneira de demonstrar a evolução das tarefas realizadas.

No exemplo desta planilha foi inserido na própria planilha a barra de progresso.

Para inserir uma barra de progresso na planilha você deve clicar na guia Desenvolvedor e no botão Inserir e no botão mais controles e selecione o controle "Microsoft ProgressBar Control, version 6.0" e desenhe o objeto de progressão na planilha.

A barra de progresso tem três propriedades principais que iremos configurar para que ela funcione:

  1. Min: Mínimo valor da barra de progresso, normalmente é zero, mas pode colocar outro valor.
  2. Max: Maior valor da sua barra de progresso, é usado pra dimensionar o quando foi feito já do total.
  3. Value: Valor atual do progresso. É ao alterar esta propriedade que a barra de progresso se movimenta.

A barra de progresso pode ser usada em várias situações, mas uma das que tem maior serventia é quando temos loops no código.

Com a barra de progresso sabemos o quanto já foi processado e o quanto ainda falta processar, além de sabermos que não travou o código.

Abaixo um exemplo do código fonte de um processamento com atualização da barra de progresso do Excel.

Sub lsConverterValores()
    On Error Resume Next
 
    Dim lRng As Range
    Dim lCel As Range
    Dim lContador As Long
    Dim lTotal As Long
    
    Set lRng = Plan1.Range("A1:A30000")
    
    lTotal = lRng.Rows.Count
    
    ProgressBar21.Visible = True
    
    'Define os valores máximo, mínimo e zera a progress bar
    Plan1.ProgressBar21.Min = 0
    Plan1.ProgressBar21.Max = lTotal
    Plan1.ProgressBar21.Value = 0
   
    For Each lCel In lRng
        If lCel.Value <> "" And IsNumeric(lCel.Value) Then
            lCel.Value = lCel / 100
            'Incrementa a ProgressBar
            Plan1.ProgressBar21.Value = Plan1.ProgressBar21.Value + 1
        End If
    Next lCel
    
    Selection.Style = "Comma"
    
    ProgressBar21.Visible = False
    MsgBox "Processo concluído!", vbInformation, "Sucesso!"
   
End Sub

O código acima converte uma coluna de valores dividindo por 100 (tem formas bem melhores de fazer isso, é apenas um teste), e a cada iteração a propriedade Value da ProgressBar é incrementada em 1.

Plan1.ProgressBar21.Value = Plan1.ProgressBar21.Value + 1

ProgressBar Formulário VBA Excel

Outra forma de fazer isto é com formulários no Excel.

Você pode preferir chamar um formulário para um determinado processamento ao invés de fixá-lo na sua planilha, o que faz sentido.

Neste caso dê ALT+F11 para abrir o VBE e clique em Inserir Formulário.

Na Caixa de Ferramentas selecione a opção ProgressBar e desenhe no formulário conforme abaixo.

Pode incluir também um botão para que ao clicar nele seja realizada uma ação.

ProgressBar Excel Form

Está pronto, agora basta usar a mesma técnica de definir as propriedades Min, Max e alterar a propriedade Value de acordo com o processamento for sendo executado.

Para ser diferente fizemos o seguinte código para o botão processar:

Sub lsProcessamentoFormulario()
    On Error Resume Next
 
    Dim i As Long
    
    'Define os valores máximo, mínimo e zera a progress bar
    frmProgresso.progBarProcessamento.Min = 0
    frmProgresso.progBarProcessamento.Max = 30000
    frmProgresso.progBarProcessamento.Value = 0
   
    For i = 1 To frmProgresso.progBarProcessamento.Max
        frmProgresso.progBarProcessamento.Value = frmProgresso.progBarProcessamento.Value + 1
    Next i
    
    MsgBox "Processo concluído!", vbOKOnly, "Sucesso"
    Unload frmProgresso
   
End Sub

No código acima simplesmente é feito um loop de 0 à 30.000 incrementando então o processamento de um em um.

Download da Barra de Progresso Excel

Download — baixe aqui: ProgressBar Excel

Preencha seus dados para receber o link de download no seu e-mail.

Curso Excel Completo – Do Básico ao VBA

Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo:

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