Neste post você verá:
>> Como preencher um listbox usando VBA
>> Como ordenar um listbox
>> Como remover um item no listbox
>> Como limpar um listbox
>> Como enviar dados do listbox para o excel
Esse post , listbox detalhes 2, é a segunda continuação sobre o tema listbox e sobre algumas dúvidas que as pessoas tem a respeito do assunto.
Lembrando que você pode acessar o post exemplo de listbox e abaixar uma planilha modelo e retirar algumas dúvidas.
Siga o post abaixo para ver como usar listbox com VBA
.
Observação: Na imagem abaixo você pode ver como colocar borda no listbox
Observação2: Em ColumnWidths você pode alterar a largura das colunas, exemplo: “50 pt;50 pt”
___________________________________________________
>> Como Preencher Um ListBox com VBA
Um detalhe sobre o código abaixo é que mostra como inserir textos em 2 colunas do listbox.
Ou seja .List(0,0)=”teste” significa que na primeira linha e primeira coluna terá o valor “teste”
Caso queira ver mais detalhes e um exemplo prático assista ao vídeo
With Me.listBox1 .AddItem .List(0, 0) = "teste" .List(0, 1) = "teste1" End With
_________________________________________________
Como Ordenar Um Listbox Com VBA
Tentei deixar o código abaixo o quanto mais fácil para entender, você pode ver no vídeo o seu funcionamento.
Sub Ordenar_listbox itemFinal = listBox1.ListCount - 1 'verifica linha a linha todos os itens For itemAtual = 0 To itemFinal - 1 'pra cada item do listbox, será verificado todos os itens novamente For itemPosterior = itemAtual + 1 To itemFinal 'verifica se o item atual verificado é maior que seu sucessor If listBox1.List(itemAtual) > listBox1.List(itemPosterior) Then 'passa o valor do listbox para uma variavel e assim trocar os valores do listbox temporario = listBox1.List(itemPosterior) listBox1.List(itemPosterior) = listBox1.List(itemAtual) listBox1.List(itemAtual) = temporario End If Next itemPosterior Next itemAtual End sub
_________________________________________________
Como Remover Um Item No ListBox
Para fazer a remoção de uma linha(item) no listbox, temos que pegar qual linha está selecionada e usar o RemoveIt
listBox1.RemoveItem (listBox1.ListIndex)
_________________________________________________
Como Limpar Um ListBox
Bem o comando é bem simples:
listBox1.Clear
_________________________________________________
Como Enviar Dados do Listbox Para O Excel
No exemplo abaixo estou enviando todos os itens do listbox para o Excel
Como no vídeo abaixo o nosso exemplo de listbox possui quatro colunas, estou usando: (i, 0) a (i, 3)
Inicio verificando a ultima linha usada no excel e passo todas as linhas e colunas do listbox
Sub EnviarExcel qtdeItens = listBox1.ListCount ultimaLInha = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row For i = 0 To qtdeItens - 1 Sheets(1).Cells(ultimaLInha + 1, 1).Value = listBox1.List(i, 0) Sheets(1).Cells(ultimaLInha + 1, 2).Value = listBox1.List(i, 1) Sheets(1).Cells(ultimaLInha + 1, 3).Value = listBox1.List(i, 2) Sheets(1).Cells(ultimaLInha + 1, 4).Value = listBox1.List(i, 3) ultimaLInha = ultimaLInha + 1 Next End Sub
_______________________________________________
Segue vídeo demostrativo