Como Fazer Loop While VBA Excel

MR
Marcos Rieper

Especialista em Excel

20 de março de 2023 Atualizado 08 de julho de 2026 3 min de leitura
Aprender Loop While VBA Excel 7

Neste artigo você aprenderá como fazer loop while VBA no Excel.

O loop é o código de programação utilizado para realizar uma série de operações uma quantidade determinada de vezes.

Este é um procedimento usado em todas as linguagens de programação e é muito útil.

No caso do VBA no Excel não é diferente, usamos para diversas finalidades.

No exemplo deste artigo você aprenderá como gerar uma lista de arquivos PDF ou imprimir, alterando os dados e gerando um por um mudando os valores à partir de uma lista.

Relatório de Cobrança Excel

No nosso exemplo temos um relatório de cobrança, de reparte de bancas de jornais.

Nele nós temos os produtos, quantidades, períodos que temos em cada um dos clientes para cobrança.

Ali temos fórmulas que alteram automaticamente ao mudar o cliente no topo, aonde temos o CLIENTE 395.

Aprender Loop While VBA Excel 1

No nosso exemplo temos uma lista de Clientes com os dados como vemos abaixo:

Aprender Loop While VBA Excel 2

Na lista de Repartes temos os dados dos lançamentos, como é no caso o Ponto, Produto, Data e Qtde.

O primeiro campo é um campo chave, criado para fazermos um PROCV de chave concatenada.

Aprender Loop While VBA Excel 3

Como vemos acima temos na coluna Chave uma ligação entre os campos 1, 2 e 3 para criar a chave.

Na pasta de trabalho temos a planliha abaixo, aonde temos os dados mudando conforme é selecionado o cliente no topo da planilha:

Aprender Loop While VBA Excel 4

Assim, ao mudar temos os valores mudando de todos os produtos como vemos abaixo:

Aprender Loop While VBA Excel 5

Então o nosso objetivo com o Loop é mudar o cliente no topo e mandar gerar em PDF ou imprimir.

Como Fazer Loop While no VBA Excel

Para isso o primeiro passo é habilitar a guia desenvolvedor.

Depois clique na guia Desenvolvedor e clique no botão Visual Basic.

Nele clique em Inserir->Módulo, irá ficar como abaixo:

Aprender Loop While VBA Excel 7

Após isso cole o código abaixo VBA que é detalhado também no VBA passo-a-passo, além dos comentários que temos no VBA.

Public Sub lsGerar()
    On Error GoTo TratarErro
    
    Dim iTotalLinhas    As Long
    Dim iLinhas         As Long
    
    'Quantas Linhas no loop
    iTotalLinhas = Clientes.ListObjects("tClientes").ListColumns(1).DataBodyRange.Count + 7
    
    'Inicia a linha
    iLinhas = 8
    
    'Loop gerando em pdf
    While iLinhas <= iTotalLinhas
        'Atualiza o cliente no relatório
        Relatorio.Range("E4").Value = Clientes.Range("B" & iLinhas).Value
        
        'PDF
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            "C:\Rieper\Blog Guia do Excel\059 - Loop Excel\" & Clientes.Range("B" & iLinhas).Value & ".pdf", Quality:= _
            xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
            OpenAfterPublish:=False
            
        'Impressão
        'ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
            IgnorePrintAreas:=False
    
       iLinhas = iLinhas + 1
    Wend

Sair:
    Exit Sub
TratarErro:
    MsgBox "Houve um erro na impressão", vbCritical
    GoTo Sair
End Sub

Pronto, após isso já temos o código pronto para gerar o PDF à partir do Loop While.

Ao executar este código ele irá passar por todas as linhas da lista de clientes e trocará os clientes um a um e irá gerar em PDF.

No código tem também como imprimir.

Baseado no código VBA acima pode adaptar este código e o utilizar para outras necessidades de loop.

Download Planilha Loop While VBA Excel

Clique no botão abaixo para realizar o  download do arquivo de exemplo:

Download — baixe aqui: Loop While VBA Excel

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

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