Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#63497
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.
Editado pela última vez por eduardobatistaadm em 13 Abr 2021 às 22:43, em um total de 1 vez.
#63687
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
eduardobatistaadm agradeceu por isso
#63718
@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
eduardobatistaadm agradeceu por isso
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord