Notifications
Clear all

Apresentar conteudo de algumas abas na listbox

4 Posts
1 Usuários
0 Reactions
837 Visualizações
(@rui-maciel)
Posts: 190
Reputable Member
Topic starter
 

Boa tarde
Precisava que a listbox2 do userform ufm_dp apresenta-se o conteudo filtrado das abas criadas pelo userform ufm_anos, só que tenho um código da macro Pesquisa_Nome21, só que não consigo articular alguém me pode ajudar. Segue em anexo o aplicativo, obrigado.
Att.,
Rui

Para por o excel ".visible"
Utilizador: ADM
Senha: 1234

 
Postado : 15/03/2017 9:56 am
(@rui-maciel)
Posts: 190
Reputable Member
Topic starter
 

Boa noite
Consegui um código nas pesquisas que efetuei, contudo, dá run-time error 9 out of range. Este erro aparece no userform ufm_dp, não consigo ver onde está o erro, alguém me pode ajudar, obrigado, desde já. O código está na TextBox1_Change e no Userform_inicialize
Segue o anexo.
Att.,
Rui

Utilizador excel visivel:ADM
Senha: 1234

 
Postado : 16/03/2017 2:55 pm
(@rui-maciel)
Posts: 190
Reputable Member
Topic starter
 

Boa tarde minha boa gente.
Alguém tem uma ideia para o meu problema, obrigado.
RM

 
Postado : 17/03/2017 8:20 am
(@rui-maciel)
Posts: 190
Reputable Member
Topic starter
 

Já resolvi com o seguinte código:

Private Sub UserForm_Initialize()

    Dim varFOLHA As Variant
    Dim colPAROQUIANOS As Collection
    Dim lngLast As Long
    Dim lngLin As Long
    Dim lng As Long
    
    Set colPAROQUIANOS = New Collection
    
    'Definir quais planilhas devem ser pesquisadas:
    With ThisWorkbook
        mvarFOLHAS = Array(.Worksheets("2017") _
        , .Worksheets("2018") _
        , .Worksheets("2019") _
        , .Worksheets("2020") _
        , .Worksheets("2021"))
    End With
    
    'Obter todos os carros de forma distinta:
    On Error Resume Next
    For Each varFOLHA In mvarFOLHAS
        With varFOLHA
            lngLast = .Cells(.Rows.Count, "A").End(xlUp).Row
            For lngLin = 2 To lngLast
                colPAROQUIANOS.Add CStr(.Cells(lngLin, "A")) _
                , CStr(.Cells(lngLin, "A"))
            Next lngLin
        End With
    Next varFOLHA

End Sub
Private Sub TextBox1_Change()
'Call pesquisanome21
Call pesquisanome

    Dim varFOLHA As Variant
    Dim varFOLHAS As Variant
    Dim wksAux As Worksheet
    Dim lngLast As Long
    Dim lngLin As Long
    Dim lngAux As Long
    Dim lng As Long
    
    If Me.TextBox1 = "" Then Exit Sub
    
    Application.ScreenUpdating = False
    
    Set wksAux = ThisWorkbook.Sheets("Aux")
    
    'Limpa planilha auxiliar:
    wksAux.Cells.ClearContents
    mvarFOLHAS(1).Rows(1).Copy
    wksAux.Rows(1).PasteSpecial xlPasteValues
        
    'Busca o carro especificado na caixa de combinação:
    lngAux = 2
    For Each varFOLHA In mvarFOLHAS
        With varFOLHA
            lngLast = .Cells(.Rows.Count, "A").End(xlUp).Row
            For lngLin = 2 To lngLast
                If CStr(.Cells(lngLin, "A")) = Me.TextBox1 Then
                    .Rows(lngLin).Copy
                    wksAux.Rows(lngAux).PasteSpecial xlPasteValues
                    'wksAux.Cells(lngAux, "I") = .Name
                    'wksAux.Cells(lngAux, "J") = wksAux.Cells(lngAux, "A").Address
                    lngAux = lngAux + 1
                End If
            Next lngLin
        End With
    Next varFOLHA
    
    'Exibe o resultado da busca na caixa de listagem:
    With wksAux
        lngLast = .Cells(.Rows.Count, "A").End(xlUp).Row
        Me.ListBox2.RowSource = "'[" & ThisWorkbook.Name & "]" _
        & .Name & "'!" & .Range("C2:F500").Resize(lngLast - 1, 9).Address
    End With

    Application.ScreenUpdating = True
    Application.CutCopyMode = False

End Sub

Att.,
RM

 
Postado : 17/03/2017 5:36 pm