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”

formulario2

 

___________________________________________________

>> 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

 

listbox_vba

_________________________________________________

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