locked
Comparar valores entre planilhas e apagar quais não conferem RRS feed

  • Pergunta

  • Olá à todos,

    Recentemento comecei a me aventurar nas macros do excel mas estou com um problema na comparação de listas, já revirei a internet e não consigo compor uma solução pois meu conhecimento é pequeno ainda...
    O problema é este:

    Possuo duas listas, uma em cada planilha, (Plan1 e Plan2).
    Caso algum valor da Plan2 também esteja na Plan1 a linha que possui o valor deve ser apagada.
    Tem um detalhe que as listas nem sempre tem o mesmo tamanho.

    Eu achei que isso seria fácil, mas ainda não consegui.. Se alguém puder me ajudar fico muito grato.

    Att
    segunda-feira, 7 de dezembro de 2009 22:55

Todas as Respostas

  • Acredito que este código possa atendê-lo

    Sub EliminarRepetições()
    
    Dim Lista1 As Range
    Dim Lista2 As Range
    Dim i As Integer
    Dim wf As WorksheetFunction
    Dim Valor As Long
    
    Set Lista1 = Sheets("Plan1").[A1:A100]
    Set Lista2 = Sheets("Plan2").[A1:A80]
    Set wf = Application.WorksheetFunction
    
    On Error Resume Next
    Valor = 0
    For i = Lista2.Rows.Count To 1 Step -1
        Valor = wf.Match(Lista2.Cells(i, 1), Lista1, 0)
        If Valor <> 0 Then
        Lista2.Rows(i).Delete
        Valor = 0
        End If
    Next i
    End Sub
    

    [ ]s

    Adilson Soledade - MOS http://adilsonsoledade.blogspot.com/
    quarta-feira, 9 de dezembro de 2009 02:11