Como preencher dados da planilha na listBox com VBA

Como Preencher Dados da Planilha na ListBox com VBA? Que o Excel e a ferramenta mais usada no mundo disso não temos dúvida com relação ao seu potencial nas empresas e nas residencias. Com o uso do VBA(Visual Basic for Application) podemos incrementar em nossos projetos ainda mais recursos. Nesse artigo estarei explicando com exemplos práticos de como preencher uma ListBox. Mais daí você pode estar se perguntando e o Listview? Calma estarei falando um pouco dos recursos e das limitações se e que seria uma limitação do Listview.

Qual a diferença do ListBox para o Listview?

Listando os pós e contra de cada um de maneira bem resumida para facilitar o entendimento. Quando usamos o ListBox ao invés do Listview temos algumas vantagens com relação a ambos. O Listview e bem mais fácil de carregar as informações da planilha na minha opinião.

O ListBox e relativamente tranquilo, mas se faz necessário usar um cabeçalho para as informações a parte com as Label.



Algumas Vantagens e Desvantagem do Listview e ListBox.

A desvantagem do ListView e a velha burocracia da MScom, que é a DLL da Listview. Desde as versões do Excel a Microsoft nunca se atentou nesse quesito tornando necessário a adição manual desse suplemento do Excel. No ListBox não temos essa situação, se você enviar o seu projeto para quem quer que seja ele não terá essa dificuldade em visualizar os dados caso não tenha essa DLL. Quando olhamos para as duas ferramentas vemos que são úteis e que alguns detalhes tornam a preferência de uso de cada uma delas.

Como Preencher Dados da Planilha na ListBox com VBA?

Bom pessoal resumir bastante o assunto em relação as diferenças entre as duas ferramentas. Espere que tenha ficado claro o por que uso sempre em meus projetos o ListBox em vez de Listview. No nosso site tem um artigo que explica com exemplos práticos de como preencher uma Listview. Nesse artigo estarei explicando com exemplos práticos de como preencher uma ListBox com dados da planilha.

Vamos ao nosso exemplo prático de como preencher uma ListBox com dados da planilha usando códigos VBA. Inicia o seu Excel independente da versão e pressione Alt+F11 para abrir o editor de VBA. Caso seu guia desenvolvedor não esteja habilitado segue abaixo as instruções.

Habilitando a Guia Desenvolvedor do Excel.

Ao iniciar o Excel siga os passos a passos que estarão sendo mostrado nas imagens logo abaixo.

1º Passo – Clica no menu Arquivo e aguarde a segunda instrução.

Como Preencher Dados da Planilha na ListBox com VBA
Imagem 01

2º Passo – Clica no menu Opções e aguarde a terceira instrução.

Como Preencher Dados da Planilha na ListBox com VBA
Imagem 02

3º Passo – Clica no menu Opções e aguarde a terceira instrução.

Como Preencher Dados da Planilha na ListBox com VBA
Imagem 03

Após clicar em opções vai aparecer essa tela, agora clicar em Personalizar Faixa de Opções e vai mostrar ao lado um sinal de + e uma caixinha e o nome Desenvolvedor. Se essa caixinha estiver desmarcada marque ela novamente e clica em OK.

Como Preencher Dados da Planilha na ListBox com VBA
Imagem 04

Pronto nosso guia desenvolvedor já está habilitado agora vamos ao nosso exemplo do artigo.

Preenchendo a ListBox com Dados da Planilha.

Ante de tudo e necessário que já tenha criado a base dados que nada mais e as informações que vai alimentar a ListBox.




Como Preencher Dados da Planilha na ListBox com VBA
Imagem 05

Após ter criado a base de dados vamos abri o Editor de Códigos(VBE) que é onde vamos montar nossa estrutura.

Como Preencher Dados da Planilha na ListBox com VBA
Imagem 06

Como Preencher Dados da Planilha na ListBox com VBA?

O primeiro passo depois de termo criado a nossa base de dados que vai alimentar o nosso formulário e começar a criar os objetos vamos a eles. Com o formulário criado adicione os objetos exatamente como está na imagem. Caso ache melhor pode adicionar uma Label apenas para os títulos ao invés de criar para cada um uma Label, isso facilita na hora de formatar fontes e cores etc. Sonhando que você tenha criado todos os objetos e controles e editado seu formulário e está pronto para programar o código.

De um duplo clique no seu formulário e altere o evento dele para UserForm_Initialize(), vai estar UserForm_Click(). Agora e só começar a digitar os códigos como está na imagem, você pode copiar e fazer as adequações. Mais se você está aprendendo ainda recomendo fortemente que digite assim vai ganhar habilidade e aprender mais rápido.

 

 

Como Preencher Dados da Planilha na ListBox com VBA
Imagem 07
'COMANDO PARA CARREGAR DADOS DENTRO DA LISTBOX
Private Sub UserForm_Initialize()
    Me.ListBox1.ControlTipText = "Para deletar o item selecionado de um duplo clique"
    Dim Linha As Integer
    Dim Coluna As Integer
    Dim My_List()
    
    With Planilha1
    'A Declaração RedDim e usada para dimensionar ou redimensionar uma matrix dinâmica que já foi declarada por usar um instrução
    'Private, Public ou Dim parenteses vazio (sem subinscrito de dimensão)
    
    Linha = 2
    ReDim My_List(2 To .UsedRange.Rows.Count, 1 To .UsedRange.Columns.Count)
    Me.ListBox1.ColumnCount = .UsedRange.Columns.Count
    For Linha = 2 To .UsedRange.Rows.Count
    Me.ListBox1.AddItem
    For Coluna = 1 To .UsedRange.Columns.Count
    My_List(Linha, Coluna) = .Cells(Linha, Coluna).Value
    Next Coluna
    Next Linha
    Me.ListBox1.List = My_List
    Me.TxtBuscar.SetFocus
End With
End Sub

Após digitado todos os códigos vamos testar a nossa ferramenta para ver se realmente está funcionando. Para que apareça aquela mensagem ao passar o mouse vamos incrementar um método que retornar a mensagem que for digitada dentro de aspas.

Como Preencher Dados da Planilha na ListBox com VBA
Imagem 08
'COMANDO PARA CARREGAR DADOS DENTRO DA LISTBOX
Private Sub UserForm_Initialize()
    Me.ListBox1.ControlTipText = "Para deletar o item selecionado de um duplo clique"

Esse comando retorna a mensagem que for digitada ao passar o mouse. Usamos o Me para chamar um objeto ou método e um maneira de facilitar na hora de programar.

Vela abaixo os nossos códigos funcionaram corretamente, agora daremos início a uma outra etapa que e a exclusão dos dados da ListBox.

Como Preencher Dados da Planilha na ListBox com VBA
Imagem 09

Excluindo Dados da Planilha e da ListBox com Condição.

Nesse procedimento vamos adotar algumas medidas de precauções na hora que for executado a nossa rotina. Faremos o uso da condicional IF(SE) que será acionado todas as vezes que clicarmos para excluir uma informação da ListBox. Para incrementar esse código de um clique duplo dentro da ListBox.




Declare a variável que pode ser definido por você, eu costumo escolher nomes que tem haver com o que a rotina vai executar. Aqui usando o IF eu falo para a rotina que toda vez que eu clicar e dizer sim que ela exclua os dados da minha ListBox e da planilha.

Como Preencher Dados da Planilha na ListBox com VBA
Imagem 10
Option Explicit

'Deleta dados da ListBox e da Planilha da Base de Dados
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Dim DeletarDados
    DeletarDados = Me.ListBox1.ListIndex + 2
    If MsgBox("Deseja excluir o item selecionado?", vbExclamation + vbYesNo, "Excel Smart") = vbYes Then
    Rows(DeletarDados).Delete
    MsgBox ("Item excluido com sucesso."), vbInformation, "Excel Smart"
    End If
End Sub

A clicar veja a ação da rotina com a condicional que foi incrementa para que não excluísse diretamente os dados sem que você quisesse. A mensagem e personalizada e fica ao seu critério colocar o que quiser, sempre colocamos o padrão que é a que condiz com a ação. Nessa rotina perceba que não usamos o vbInformation mais sim o vbExclamation, que da um sinal se alerta.

Como Preencher Dados da Planilha na ListBox com VBA
Imagem 11

Pronto basta somente isso e já vai está sendo excluído as informações da ListBox e da Planilha.

Como Preencher Dados da Planilha na ListBox com VBA
Imagem 12

Após termos confirmado nossa rotina para excluir as informações forma excluída com sucesso e agora sim usamos o vbInformation para retornar uma informação na tela. Veja na planilha que o item do código 0004 já não existe mais após clicarmos para excluir ou seja concluímos que nossa rotina está funcionado perfeitamente.

Criando um Controle para Chamar o Formulário na Tela.

Agora vamos criar um botão para chamar nosso formulário na tela sem ter que precisar ficar abrindo o VBA toas as vezes que for visualizar as informações.

Como Preencher Dados da Planilha na ListBox com VBA
Imagem 13

Vai na guia Inserir, Ilustrações, Formas e clicar no retângulo de cantos chanfrados exatamente como está circulado com o quadrado vermelho. Assim que inserir escreva Consultar Dados ou Abri Formulário fica ao seu critério na opção editar dados dentro do quadrado inserido. Vamos agora criar uma macro, ou seja, uma rotina para atribuir no nosso botão para que quando clicar ele chamar o formulário.

Como Preencher Dados da Planilha na ListBox com VBA
Imagem 14
Option Explicit

Public Sub AbriForm()
    UserForm1.Show
End Sub

Como Preencher Dados da Planilha na ListBox com VBA.

Insere um novo modulo que é onde codificamos o nosso código e em seguida cria a rotina AbrirForm o nome e muito genérico e como as variáveis e de sua escolha. Vamos atribuir ao botão que nós criamos mais atrás um pouco para usar em nossa planilha.

Como Preencher Dados da Planilha na ListBox com VBA
Imagem 15

Como Preencher Dados da Planilha na ListBox com VBA?

Clica com o botão direito do mouse e em seguida clique em Atribuir macro… vai abri uma janela com todas as macros criadas e vamos escolher a que demos o nome de AbrirForm, por isso a importância de darmos nomes a cada rotinas.




Nessa janela e onde mostra todas as macros que foram criadas, como nesse caso aqui só temos uma rotina criada vamos escolher ela. Basta clicar nela para ficar selecionada e depois clicar em OK. Agora já podemos clicar em nosso botão que ele vai chamar nosso formulário.

Como Preencher Dados da Planilha na ListBox com VBA
Imagem 16

Como Preencher Dados da Planilha na ListBox com VBA.

Bom pessoal nesse artigo era basicamente isso que eu queria passar para vocês, duvidas deixa nos comentários logo abaixo. Estarei disponibilizado essa planilha para download. 

Como Preencher Dados da Planilha na ListBox com VBA?

Fique atento estrei trazendo a próxima etapa que é a de consultar as informações quando for digitado na nossa TextBox(Caixa de Texto). Vamos criar uma rotina para quando começar a digitar ela buscar de acordo com o que estiver sendo escrito dentro da caixa de texto.

Veja mais em nosso site…

Planilhas para a gestão do seu negócio em Excel

Gerar orçamento em Excel e salvar em PDF

Planilha simulador de parcelamento em Excel

Como controlar recebimentos em cartões de crédito

A Importância do Fluxo de Caixa nas Empresas

Sistema Controle de Contas a Pagar e Receber

Planilha agenda de contato corporativo em Excel

Planilha para Controlar de Dízimos e Ofertas em Excel

Planilhas em Excel para Abertura de Empresa

Como Usar a função PROCV (VLOOKUP) do Excel

Macro para salvar cadastro de clientes Excel VBA

Como calcular o lucro em porcentagem no Excel

Copiar dados entre planilhas do Excel usando uma macro

Planilha em Excel para Cálculo de Horas Extras Grátis

Dicas para Ajudá-lo a Dominar o Excel no Trabalho Rapidamente

Baixar Planilha de Exemplo.