Formulário VBA com ListBox Excel

MR
Marcos Rieper

Especialista em Excel

01 de dezembro de 2021 Atualizado 08 de julho de 2026 5 min de leitura
Formulário-VBA-com-ListBox-Excel-15

Neste artigo você aprenderá como criar um formulário VBA Excel com ListBox.

No exemplo iremos fazer um cadastro de crochês, artesanatos, aonde iremos criar uma visualização de imagens da internet diretamente no formulário, exibição dos dados em um listbox e pesquisa ao digitar.

Formulário VBA com ListBox - Aula 1:

Formulário VBA com ListBox - Aula 2:

O resultado será como abaixo:

listbox vba 1

Ao digitar no pesquisa é movimentado automaticamente a seleção da tabela para a linha correspondente e a imagem e o link da página são exibidos.

Criar a Tabela de Dados no Excel para o Cadastro VBA

Inicialmente iremos criar uma tabela, é aonde iremos gravar as informações.

Para qualquer tabela no Excel nós iniciamos pela inclusão de cabeçalho e de alguns dados e fórmulas que usaremos.

Este procedimento é indicado antes de criar a tabela porque com isto os tipos de dados e fórmulas serão replicados automaticamente quando criarmos a tabela.

listbox vba 2

Veja na imagem que colocamos um campo de ID, aonde usamos a função LIN para definirmos o número do ID.

Nas demais colunas digitamos textos, e colamos links da imagem, data e link do conteúdo na web.

Para pegar o link da imagem, pesquise ela no google ou diretamente no link em que estiver com o conteúdo, e clique com o botão direito sobre ela e selecione a opção Copiar endereço da imagem.

listbox vba 3

Após inserir os dados iniciais de cabeçalho e da primeira linha, selecione os dados com o cabeçalho e pressione o atalho ALT+T+A.

Isto fará com que os dados sejam convertidos em tabela e fique com aspecto como abaixo.

listbox vba 4

Agora ao inserir dados nós temos então nas novas linhas mantendo o formato e a fórmula sendo inserida automaticamente.

Clique sobre a tabela e na guia Design da Tabela e coloque o nome, por exemplo tCroche.

listbox vba 5

Habilitar Guia Desenvolvedor

Para criar o formulário devemos inicialmente habilitar a guia Desenvolvedor se não estiver aparecendo.

Clique no Iniciar do Excel clique em Opções

Como habilitar a guia desenvolvedor no Excel 2

Clique em Personalizar Faixa de Opções e marque a opção Desenvolvedor.

Como habilitar a guia desenvolvedor no Excel 3

Será exibida a guia Desenvolvedor no Excel.

Como habilitar a guia desenvolvedor no Excel 4

Criar Formulário VBA com ListBox

Clique então na guia Desenvolvedor e clique no botão Visual Basic ou pressione o atalho ALT+F11.

Clique em Inserir->Userform conforme baixo.

listbox vba 6

Aumente e redimensione então a UserForm.

listbox vba 7

Clique então em Caixa de Ferramentas, no item 1.

Em seguida clique no item 2 que é o Rótulo, também chamado de Label.

Em propriedades altere as características:

  1. Caption: Coloque o texto do cadastro, por exemplo Cadastro de Crochês.
  2. BackColor: Altere aqui a cor do fundo do label.
  3. Font: Altere aqui o tamanho da fonte e cor e altere propriedades de alinhamento.
listbox vba 8

Clique em Caixa de Listagem na Caixa de Ferramentas e desenhe no formulário conforme necessário.

listbox vba 9

Clique sobre a Caixa de Listagem e altere a propriedade RowSource e coloque o nome da tabela, no caso tCroche que é o nome da tabela de origem.

Poderia ser colocado neste campo o nome definido de um intervalo ou nome de tabela.

listbox vba 10

Em seguida clique na propriedade ColumnCount e altere a quantidade de colunas.

Mude então para 5 que é a quantidade de colunas que temos na nossa tabela.

Veja que a ListBox agora aparece com todas as informações do seu cadastro.

listbox vba 11

Inclusa então uma Caixa de Texto(TextBox) conforme abaixo e altere a propriedade (Name) para txtPesquisa.

listbox vba 12

Clique em Rótulo(Label) e desenhe no formulário.

Clique e adicione um label e altere o BackColor em Azul e insira novos em Labels em branco para colocar os cabeçalhos.

Desmarque então na ListBox e desmarque os itens ColumnHeads

listbox vba 13

Com isso já temos a ListBox ajustada, inclusive com cabeçalhos.

Clique então na Caixa de Ferramentas e clique com o botão direito sobre a mesma e selecione a opção Controle Adicionais.

Na caixa que abre selecione em Controles disponíveis a opção Microsoft Web Browser.

listbox vba 14

Em seguida clique sobre o objeto e desenhe e desenhe ao lado, aonde temos a imagem das canecas o browser.

listbox vba 15

Adicione também um Rótulo(label) e adicione os textos Link e um exemplo de texto como do Youtube acima.

Em seguida vamos adicionar os códigos para automação do nosso formulário, pois os objetos já estão inseridos no formulário.

Automatizar o Formulário VBA

Em seguida iremos então adicionar os códigos VBA para automatizar os procedimentos do formulário.

Primeiro altere os nomes dos objetos, caso seja necessário na propriedade name conforme abaixo.

  1. Pesquisa: txtPesquisa.
  2. ListBox: listCadastro.
  3. Link: lblLink.
  4. WebBroser: WebBrowser1.

Clique sobre o label com um duplo clique e digite os seguintes códigos fontes:

'Ao clicar abre o navegador da internet
Private Sub lblLink_Click()
    ThisWorkbook.FollowHyperlink Address:=lblLink.Caption
End Sub

'Ao mudar a linha do listBox é alterado o endereço da imagem e exibido no WebBrowser
Private Sub listCadastro_Change()
    Dim ltbl As ListObject
    
    Set ltbl = Cadastro.Range("tCadastro").ListObject

    lblLink.Caption = ltbl.ListColumns(5).DataBodyRange(listCadastro.ListIndex + 1)
    
    WebBrowser1.Navigate listCadastro.Column(2)
End Sub

'Ao dar duplo clique sobre uma linha exibe a imagem no webBrowser.
Private Sub listCadastro_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    WebBrowser1.Navigate listCadastro.Column(2)
End Sub

'Ao digitar no txtPesquisa muda a linha na listObject.
Private Sub txtPesquisa_Change()
    Dim lResultado As Variant
    Dim ltbl As ListObject
    
    Set ltbl = Cadastro.Range("tCadastro").ListObject
    
    lResultado = Application.Match("*" & txtPesquisa.Value & "*", ltbl.ListColumns(2).DataBodyRange, 0)

    If Not IsError(lResultado) Then
       listCadastro.ListIndex = lResultado - 1
    End If

End Sub

'Ao exibir o formulário altera as colunas que serão exibidas.
Private Sub UserForm_Activate()
   
    listCadastro.ColumnWidths = "30;150;0;100"
End Sub

Com isso o seu VBA formulário está pronto e ao executar ele pressionando F5 você tem o formulário aberto e totalmente funcional.

Nos vídeos ao topo deste artigo você tem a aula 1 e a aula 2 aonde iremos na aula 1 criar o formulário e na aula 2 nós programamos e explicamos todo o código do VBA.

Download do Formulário VBA com ListBox Excel

Realize o download da planilha deste artigo no botão abaixo. Basta se inscrever na nossa newsletter gratuita para o download automático.

Download — baixe aqui: Formulário VBA com ListBox 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