Notifications
Clear all

Preencher ListView com 2 abas (critérios amarrados)

2 Posts
2 Usuários
0 Reactions
1,044 Visualizações
(@bilokas)
Posts: 168
Estimable Member
Topic starter
 

Olá amigos do fórum,

Estou com um problema que acredito até ser fácil de resolver;

tenho 2 abas numa planilha: contratos e gestor_fiscal. Elas possuem informações diferentes mas ambas tem uma coluna com informações em comum. O número do contrato/ano

Na minha rotina, que segue abaixo, primeiro populo o ListView com as informações da aba contrato. E o queeu preciso que é a partir disso ele consulte na aba gestor_fiscal as informações já populadas no ListView de acordo com o número do contrato/ano. e dê continuidade no preenchimento do ListView.

Eu até tentei fazer isso usando um segundo FOR, mas sem êxito.

'POPULA O LISTVIEW
Private Sub botao_VerificarPrazos_Click()
Dim LastRow, X, J, li

    If Z_frmEnviar_Email.ComboBox_Filtro.Value = "" Then
        MsgBox ("Selecione uma opção de filtro."), vbExclamation, "FILTRO"
        Exit Sub
    End If
    
    With ListView_Filtro
        .Gridlines = True
        .View = lvwReport
        .FullRowSelect = True
        .ColumnHeaders.Add Text:="CONTRATO", Width:=50
        .ColumnHeaders.Add Text:="BENEFICIÁRIO", Width:=250
        .ColumnHeaders.Add Text:="DURAÇÃO DO CONTRATO", Width:=100
        .ColumnHeaders.Add Text:="DIAS CORRIDOS DO CONTRATO", Width:=100
        
        .ColumnHeaders.Add Text:="GESTOR DO CONTRATO", Width:=150
        .ColumnHeaders.Add Text:="ID FUNCIONAL", Width:=60
        .ColumnHeaders.Add Text:="E-MAIL", Width:=100
        .ColumnHeaders.Add Text:="FISCAIS", Width:=150
        .ColumnHeaders.Add Text:="ID FUNCIONAL", Width:=60
        .ColumnHeaders.Add Text:="E-MAIL", Width:=100
    End With

    If Z_frmEnviar_Email.ComboBox_Filtro.Value = "DENTRO DO PRAZO" Then
        LastRow = Sheets("contrato").Cells(Rows.Count, "a").End(xlUp).Row
        ListView_Filtro.ListItems.Clear
    
        For X = 2 To LastRow
            If (Sheets("contrato").Cells(X, 27)) Like "*" & "DENTRO DO PRAZO" & "*" Then
        
                Set li = ListView_Filtro.ListItems.Add(Text:=Sheets("contrato").Cells(X, "a").Value)
                    li.ListSubItems.Add Text:=Sheets("contrato").Cells(X, "c").Value
                    li.ListSubItems.Add Text:=Sheets("contrato").Cells(X, "y").Value
                    li.ListSubItems.Add Text:=Sheets("contrato").Cells(X, "z").Value
                
                    For J = 2 To LastRow
                        If (Sheets("gestor_fiscal").Cells(J, 1)) Like "*" & ListView_Filtro.SelectedItem & "*" Then
                            li.ListSubItems.Add Text:=Sheets("gestor_fiscal").Cells(J, "b").Value
                            li.ListSubItems.Add Text:=Sheets("gestor_fiscal").Cells(J, "c").Value
                            li.ListSubItems.Add Text:=Sheets("gestor_fiscal").Cells(J, "d").Value
                            li.ListSubItems.Add Text:=Sheets("gestor_fiscal").Cells(J, "e").Value
                            li.ListSubItems.Add Text:=Sheets("gestor_fiscal").Cells(J, "f").Value
                            li.ListSubItems.Add Text:=Sheets("gestor_fiscal").Cells(J, "g").Value
                        End If
                    Next
            End If
        Next
    End If
End Sub

Ou seja, eu preciso popular o ListView_Filtro, usando informações 2 duas abas, utilizando a coluna A na aba gestor_fiscal, que é onde fica a informação do contrato/ano.


DGAF / DVGD - Divisão de Gestão de Documentos
Rafael A. Guimarães
[email protected]

 
Postado : 19/08/2014 8:26 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

bilokas,

Boa Tarde!

Sua explicação (pelo menos para mim) ficou um pouco confusa. O que você realmente quer? Você que que o ListView seja preenchido com os dados das duas abas. Isso eu entendi. Mas... qual é o critério? Qual é a coluna da aba gestor_fiscal que é igual a aba contrato e em quais colunas, de cada aba, está essa informação igual nas duas abas, que deve ser checada para preencher o ListView? Você tem que colocar as duas condições no mesmo FOR e dentro de um único IF. Entendeu?

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 19/08/2014 12:38 pm