Notifications
Clear all

Remover linhas duplicadas - Inverso

6 Posts
2 Usuários
0 Reactions
1,510 Visualizações
(@rafamestre)
Posts: 13
Active Member
Topic starter
 

Pessoal, tenho um código que funciona muito bem porém preciso que faça o contrário, ele copia de uma guia cola na outra e começa a remover de baixo pra cima as linhas duplicadas, isso quer dizer que ele removerá as novas linhas duplicadas, porém preciso que remova as linhas antigas, que já estavam na plan, ou seja de cima pra baixo talvez...

Segue o código que deleta de baixo pra cima...

Sub DeletDuplicate()
    Dim x As Long
    Dim LastRow As Long
    
    ThisWorkbook.Worksheets("Plan2").Activate
    
    LastRow = Range("E65536").End(xlUp).Row
    For x = LastRow To 1 Step -1
    
        If Application.WorksheetFunction.CountIf(Range("E1:E" & x), Range("E" & x).Text) > 1 Then
            Range("E" & x).EntireRow.Delete
        End If
    Next x
    
    
End Sub
 
Postado : 23/04/2018 2:50 pm
(@klarc28)
Posts: 971
Prominent Member
 
Sub DeletDuplicate()
    Dim x As Long
    Dim LastRow As Long
    
    ThisWorkbook.Worksheets("Plan2").Activate
    inicio:
    LastRow = Range("E65536").End(xlUp).Row
    For x = 1 to LastRow 
    
        If Application.WorksheetFunction.CountIf(Range("E1:E" & x), Range("E" & x).Text) > 1 Then
            Range("E" & x).EntireRow.Delete
  goto inicio
        End If
    Next x
    
    
End Sub 
 
Postado : 23/04/2018 10:42 pm
(@rafamestre)
Posts: 13
Active Member
Topic starter
 

Bom dia Klarc, obrigado pelo seu retorno, apliquei sua fórmula na plan porém o resultado foi o mesmo que eu vinha tendo, não sobrepôs com a informação atual, ele desconsiderou a atual e permaneceu a antiga. Eu criei uma coluna nova e preenchi uma célula, estou anexando para ficar mais claro a minha necessidade. Ele comparou com a linha que já existia mas não manteve a que eu preciso sobrepor naquela mesma linha...

Não consegui anexar deu 75kb compactado......

Como eu publico um arquivo maior que 50kb? Posso colocar link do google drive no post?

 
Postado : 24/04/2018 7:23 am
(@rafamestre)
Posts: 13
Active Member
Topic starter
 

Li as regras e não mensurava nada sobre inserir link compartilhado. Segue a planilha exemplo.

Agradeço desde já.

https://drive.google.com/open?id=1EzJoH ... eh7LQqRTbY

 
Postado : 24/04/2018 7:30 am
(@klarc28)
Posts: 971
Prominent Member
 
Option Explicit

Sub RemoverDuplosAcima()
    Dim x As Long
    Dim LastRow As Long
    Dim linha As Long
    ThisWorkbook.Worksheets("Plan2").Activate
    
    LastRow = Range("E65536").End(xlUp).Row
    For x = LastRow To 2 Step -1
        
        If Application.WorksheetFunction.CountIf(Range("E1:E" & x), Range("E" & x).Text) > 1 Then
            
            For linha = 2 To LastRow
                If linha <> x Then
                    
                    If Range("E" & x).Value = Range("E" & linha).Value Then
                        Range("E" & linha).EntireRow.Delete
                    End If
                End If
            Next linha
        End If
    Next x
    
    
End Sub

Sub RemoverDuplosAbaixo()
    Dim x As Long
    Dim LastRow As Long
    Dim linha As Long
    ThisWorkbook.Worksheets("Plan2").Activate
    
    LastRow = Range("E65536").End(xlUp).Row
    For x = 2 To LastRow
        
        If Application.WorksheetFunction.CountIf(Range("E1:E" & x), Range("E" & x).Text) > 1 Then
            
            For linha = 2 To LastRow
                If linha <> x Then
                    
                    If Range("E" & x).Value = Range("E" & linha).Value Then
                        Range("E" & x).EntireRow.Delete
                    End If
                End If
            Next linha
        End If
    Next x
    
    
End Sub
 
Postado : 24/04/2018 7:55 am
(@rafamestre)
Posts: 13
Active Member
Topic starter
 

Perfeito Klarc, funcionou. Muito obrigado pela sua colaboração.

 
Postado : 24/04/2018 9:18 am