Notifications
Clear all

COMPARAR DUAS PLANILHAS E RETORNAR OS DADOS DIVERGENTES

5 Posts
2 Usuários
0 Reactions
1,781 Visualizações
(@tiagorib)
Posts: 5
Active Member
Topic starter
 

Bom dia a todos os Gurus do Excel,

Como estão?

Ainda estou engatinhando com macros e códigos mas uma situação se apresentou aqui no serviço e eu preciso de uma ajuda para solucionar.

Tenho duas planilhas (Relatório1 e Relatório2 em anexo). As duas são cadastros de cliente com nome e CNPJ. A maioria dos dados são iguais mas existirão cadastros que existem numa e não na outra. E necessariamente os dados semelhantes não estão na mesma linha.

O que eu preciso é uma maneira de comparar os dados de uma planilha com a outra e gerar um relatório com os cadastros que não coincidem de uma planilha para a outra, ou uma marcação na coluna seguinte para que depois eu possa filtrar... em resuma um meio para separar um do outro e saber quais cadastros estão ausente em comparação de uma planilha para a outra.

Nas planilhas exemplos eu coloquei 50 cadastros em cada uma mas as minhas originais tem mais de 2.000.

Já agradecendo antecipadamente.

Thiago

Obs.: Eu pesquisei aqui no grupo e a resposta mais próxima que me surgiu foi a deste post mas a planilha não está mais disponível então não sei se ela resolveria meu problema: viewtopic.php?f=10&t=17896

 
Postado : 19/05/2016 7:24 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bomdia!!

Use apenas uma formuala

=C1=[Relatório2.xls]Relatório!$B$1

Att

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

 
Postado : 19/05/2016 7:42 am
(@tiagorib)
Posts: 5
Active Member
Topic starter
 

Desculpe Alexandre mas acho que não fiz certo porque só a primeira linha deu verdadeiro e as demais falso embora hajam dados iguais. E considerando que eu tenha feito errado esta formula retorna a resposta correta se dados semelhantes estiverem em linhas diferentes?

Segue a planilha com a sua ideia para conferir se fiz certo.

Obrigado!

 
Postado : 19/05/2016 7:55 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Se por ventura os dados não for igual para o excel (Ex:. espaços no início ou no final, formatos diferentes etc), os dados não irão coincidir se.

Caso queira por intermedio do VBA, certifique se de que os arquivo estão equiparados (nomes das guias iguais e estrutura de dados iguais, com colunas etc), ambos os arquivos devem está abertos!!

Sub AleVBA_20419()

    Dim wbkComp As Workbook
    Dim wbkWith As Workbook
    Dim wbkDiff As Workbook
    Dim shtComp As Worksheet
    Dim shtWith As Worksheet
    Dim shtDiff As Worksheet
    Dim lngCompRow As Long
    Dim lngDiffRow As Long
    Dim blnSame As Boolean
    Dim intCol As Integer
     
    Set wbkComp = Workbooks("Relatório1.xls")
    Set wbkWith = Workbooks("Relatório2.xls")
    Set wbkDiff = Workbooks.Add
     
    For Each shtComp In wbkComp.Worksheets
        Application.StatusBar = "Verificando " & shtComp.Name
        Set shtWith = wbkWith.Worksheets(shtComp.Name)
        Set shtDiff = wbkDiff.Worksheets.Add
        shtDiff.Name = "Diferença " & shtComp.Name
        lngCompRow = 1
        lngDiffRow = 1
        Do While shtComp.Cells(lngCompRow, 1) <> ""
            blnSame = True
            For intCol = 1 To 2 'Compara as colunas A e B de cada arquivo
                If shtComp.Cells(lngCompRow, intCol) <> shtWith.Cells(lngCompRow, intCol) Then
                    blnSame = False
                    Exit For
                End If
            Next
            If Not blnSame Then
                shtComp.Rows(lngCompRow).Copy shtDiff.Cells(lngDiffRow, 1)
                lngDiffRow = lngDiffRow + 1
            End If
            lngCompRow = lngCompRow + 1
        Loop
    Next
    Application.StatusBar = False
End Sub

Att

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

 
Postado : 19/05/2016 8:02 am
(@tiagorib)
Posts: 5
Active Member
Topic starter
 

Eu vou montar um modelo seguindo o seu código ( a falta de prática me fará demorar um pouco rsrsrs...) e assim que o fizer entro em contato.

Agradeço já antecipadamente o tempo que está gastando comigo.

 
Postado : 19/05/2016 10:31 am