Notifications
Clear all

Juntar dados de duas Guias de acordo com critérios

5 Posts
2 Usuários
0 Reactions
1,930 Visualizações
(@luiz-elias)
Posts: 26
Eminent Member
Topic starter
 

Pessoal,

Bom dia!

Meu problema é o seguinte: Há na EFD Contribuições um registro (C100) que indica as informações da NF (Total da Nota) e outro(s) registro(s) (C170) que indica os itens dessa Nota.

Na plan1 do arquivo em anexo, estão os registros C100. Na coluna A e coluna B da Plan2 está o número da NF e seus itens, respectivamente.

Na plan3 está como eu preciso que fique.

Tentei criar uma macro para isso, mas não obtive sucesso.

Gostaria da ajuda vocês para criar uma macro que faça o seguinte:
Pegue o primeiro registro C100 da Plan1 e liste logo abaixo dele os itens correspondentes a esta NF, que se encontram na Plan2, e vá fazendo isso para cada NF que está na Plan1.

É possível fazer isso?!

Agradeço desde já ajuda de vocês.

 
Postado : 15/12/2012 7:03 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

O título de seu tópico foi alterado, por favor leia as regras.
As Nossas Regras!
viewtopic.php?f=7&t=203

• TÍTULOS
Seja criativo na criação do título para um novo tópico, se imagine criando um título para uma notícia de um
jornal onde se lê o título já tendo uma idéia do que se trata o tópico, evite palavras vagas.

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 15/12/2012 7:23 am
(@luiz-elias)
Posts: 26
Eminent Member
Topic starter
 

Alexandre, tudo bem então... Sem problemas...

("...evite palavras vagas.") Tentarei ser menos técnico da próxima vez...

 
Postado : 15/12/2012 8:48 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!
Veja se te tende..

Sub JuntarDadosAleVBA()
    Set Sh1 = Sheets("Plan1")
    Set Sh2 = Sheets("Plan2")
    Set ShRes = Sheets("Plan3")
    LR2 = Sh2.Cells(Rows.Count, "A").End(xlUp).Row
    Sh2.Range("A2:B" & LR2).Copy ShRes.Range("A2")
    With ShRes.Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("A2"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SetRange Range("A2:B" & LR2)
        .Apply
    End With
    With ShRes
        For j = LR2 To 2 Step -1
            n = .Range("A" & j)
            If .Range("A" & j - 1) <> n Then
                .Rows(j).Insert
                .Range("B" & j).Value = "||||||||" & n & "||||||||||||||||||"
            End If
        Next
        Columns("A").Delete
    End With
End Sub


Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 15/12/2012 2:44 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Obrigado elo retorno, até a próxima!

Abraços. :)

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/12/2012 4:09 pm