Vídeo recomendado
https://youtu.be/diWPPPhW-9E

VBA - Preenchendo um listbox com mais de 10 colunas

Fórum para agrupar todas as propostas de modelos de planilhas de Excel que essa comunidade consegue imaginar. Teve uma idéia? Produziu algo bem bacana? Esse é o lugar!

Moderador: Rafael Monteiro

fbzam
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Qui Mar 01, 2018 7:07 pm

Re: VBA - Preenchendo um listbox com mais de 10 colunas

Mensagem por fbzam »

Bom dia Basole
Ele retorna o seguinte erro:
Não foi possível definir a propriedade list. Índice de matriz de propriedade inválido.
devo estar esquecendo de algum comando anterior


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Basole
Colaborador
Colaborador
Mensagens: 67
Registrado em: Qua Mar 20, 2013 6:31 pm

Re: VBA - Preenchendo um listbox com mais de 10 colunas

Mensagem por Basole »

Tem que acrescentar addItem

Código: Selecionar todos

With ListBox1
.AddItem
 .List(.ListCount - 1, 0) = TextBox1.Text
 .List(.ListCount - 1, 2) = comboBox1.Text
 .List(.ListCount - 1, 3) = TextBox2.Text
 .List(.ListCount - 1, 4) = TextBox3.Text
 .List(.ListCount - 1, 5) = comboBox2.Text
 .List(.ListCount - 1, 6) = TextBox4.Text
 'List(.ListCount - 1, 7)  .....
 ' ............. .. . . . . . . . . . . .  . .  . 
End With


fbzam
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Qui Mar 01, 2018 7:07 pm

Re: VBA - Preenchendo um listbox com mais de 10 colunas

Mensagem por fbzam »

Pois é, mas ai quando ele chegou no item 10 ele parou só aceita até o 9 (ou 10ª coluna) com o additem


Basole
Colaborador
Colaborador
Mensagens: 67
Registrado em: Qua Mar 20, 2013 6:31 pm

Re: VBA - Preenchendo um listbox com mais de 10 colunas

Mensagem por Basole »

Faz o seguinte, dimensiona a area de dados do listbox.

Por exemplo no evento initialize (configure o Listbox):

Código: Selecionar todos

Private Sub UserForm_Initialize()
    Dim arrLb() As Variant
    
    ReDim arrLb(0, 20)  ' onde 20 é o nº de colunas
    
    With ListBox1
        .Rowsource = ""
        .List = arrLb
        .ColumnCount = 20
        .ColumnWidths = "50 pt; 80 pt; 100 pt;" '..continue aqui até 20ª coluna"
        .Clear      
    End With 
        
End Sub
E se quiser popular o listbox com dados da planilha, abaixo da linha .Clear, acrescente esta linha, por exemplo:
.List = Range("A2:M40").Value2


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder