Página 1 de 1

RESOLVIDO!! - Multipage - ListBox com dados em Planilhas diferentes buscando numa única planilha

Enviado: 04 Abr 2021 às 18:56
por eduardobatistaadm
Estou com duas ListBox (ListBox2 e ListBox3) em duas paginas diferentes (Page2 e Page3) de uma mesma MultiPage (MultiPage1).

A ListBox02 está funcionando normal. Está fazendo referencia e trazendo os dados da Worksheets("CONSULTA_CNPJ").

O Problema é a ListBox03. Faço referência a outra a Worksheets("CONSULTA_QSA"), porém ela me traz os dados da Worksheets("CONSULTA_CNPJ").

Segue abaixo o código para quem puder me dar uma ajuda!
Código: Selecionar todos
Private Sub UserForm_Initialize() 'Ao Carregar o Formulario
    Dim base As Range
    Dim base2 As Range
    Dim UltLinha As Long
    Dim UltLinha2 As Long
                
    'Regime Tributário              'Worksheets("Planilha1")
    Me.ComboBox1.list = Application.WorksheetFunction.Transpose(Planilha1.Range("D1:D5"))
        
        
    'CNAEs Principal e Secundários  'Worksheets("CONSULTA_CNPJ")
    UltLinha = ENTRADA_CNPJ.Range("A26").CurrentRegion.Rows.Count
    UltLinha = UltLinha + 25
    Set base = ENTRADA_CNPJ.Range(ENTRADA_CNPJ.Cells(23, 1), ENTRADA_CNPJ.Cells(UltLinha, 4))
    Me.MultiPage1.Page2.ListBox2.RowSource = base.Address
    Me.MultiPage1.Page2.ListBox2.ColumnCount = 4
  
    
    'Quadro de Sócios e Administradores 'Worksheets("CONSULTA_QSA")
    UltLinha2 = CONSULTA_QSA.Range("A7").CurrentRegion.Rows.Count
    UltLinha2 = UltLinha2 + 6
    
    Set base2 = CONSULTA_QSA.Range(CONSULTA_QSA.Cells(7, 1), CONSULTA_QSA.Cells(UltLinha2, 4))
    
    Me.MultiPage1.Page3.ListBox3.RowSource = base2.Address
    Me.MultiPage1.Page3.ListBox3.ColumnCount = 4
End Sub
Observei que quando inicializo o UserForm ele só "puxa" as informações da planilha que está ativa. Não conseguiu testar isso no código.

Re: Multipage - ListBox com dados em Planilhas diferentes buscando numa única planilha

Enviado: 09 Abr 2021 às 10:42
por JCabral
Coloque um exemplo com dados ficticios e com os resultados esperados

Re: Multipage - ListBox com dados em Planilhas diferentes buscando numa única planilha

Enviado: 10 Abr 2021 às 16:52
por eduardobatistaadm
JCabral, boa tarde!

Segue anexo o exemplo. Como falei anteriormente, a ListBox03 (Na page/guia "Societário") está buscando os dados da Worksheets("CONSULTA_CNPJ"). O Correto é buscar os dados da Worksheets("CONSULTA_QSA").

Grato pela atenção!

Re: Multipage - ListBox com dados em Planilhas diferentes buscando numa única planilha

Enviado: 12 Abr 2021 às 07:28
por JCabral
Veja se ajuda

Re: Multipage - ListBox com dados em Planilhas diferentes buscando numa única planilha

Enviado: 12 Abr 2021 às 18:19
por eduardobatistaadm
JCabral pelo que vi não adiantou. Na verdade eu olhei no código VBA e não consegui identificar onde você fez a mudança. Se puder postar aqui o código que alterou, talvez possa entender onde está o erro.

Desde já lhe agradeço pela ajuda...obrigado!

Re: Multipage - ListBox com dados em Planilhas diferentes buscando numa única planilha

Enviado: 12 Abr 2021 às 19:48
por JCabral
Teste assim:
Código: Selecionar todos
    'Quadro de Sócios e Administradores 'Worksheets("CONSULTA_QSA")
    lRow = CONSULTA_QSA.Cells(Rows.Count, 1).End(xlUp).Row
    Set base2 = CONSULTA_QSA.Range("A7:D" & lRow)
    
    tempArr = base2.Value
    Me.MultiPage1.Page3.ListBox3.list = tempArr
    Me.MultiPage1.Page3.ListBox3.ColumnCount = 4

Re: Multipage - ListBox com dados em Planilhas diferentes buscando numa única planilha

Enviado: 12 Abr 2021 às 22:27
por eduardobatistaadm
Deu "Erro de tempo de execução 91: A Variável do objeto ou a variável do bloco 'With" não foi definida."

Anexei o arquivo novamente.

Re: Multipage - ListBox com dados em Planilhas diferentes buscando numa única planilha

Enviado: 13 Abr 2021 às 07:27
por JCabral
tempArr não pode ser dimensionado como Range mas sim como Variant

Passe Dim tempArr As Range ~~~~> Dim tempArr As Variant

Re: Multipage - ListBox com dados em Planilhas diferentes buscando numa única planilha

Enviado: 13 Abr 2021 às 08:13
por eduardobatistaadm
JCabral, após mudar o para Variant a ListBox passou a fazer referência a planilha correta!
Só um detalhe...como na coluna A não existe conteúdo, os dados da coluna B e C não aparecem na ListBox.
Vou trocar o conteúdo da coluna B com a Coluna A e vê se resolve.

Muito obrigado!

Re: Multipage - ListBox com dados em Planilhas diferentes buscando numa única planilha

Enviado: 13 Abr 2021 às 08:31
por JCabral
@eduardobatistaadm,

Tens que ter em atenção que o problema que tiveste com a Listbox3 também tens com a ListBox2, ou seja se a planilha que estiver ativa quando chamas a userform FormSMARTPJ for a "CONSULTA QSA" nada te vai aparecer na ListBox2, julgo que isto se prende com a forma como atribuis valores à ListBox via RowSource.
Na primeira versão que te enviei está a funcionar direito desde que a planilha ativa seja "CONSULTA QSA" e ai a Lisbox3 é preenchida corretamente, mas a Lisbox2 não.

Quando não existe conteúdo em A o que me aparece sempre é o cabeçalho da Listbox, isso pode ser facilmente alterado.

Espero ter ajudado

Re: Multipage - ListBox com dados em Planilhas diferentes buscando numa única planilha

Enviado: 13 Abr 2021 às 22:39
por eduardobatistaadm
@JCabral, deu certo.
Agradeço pelo apoio!