Notifications
Clear all

Excluir Linhas com dados duplicados

2 Posts
1 Usuários
0 Reactions
1,378 Visualizações
 caje
(@caje)
Posts: 97
Trusted Member
Topic starter
 

Bom dia

Estou importando dados de uma determinada planilha porém gostaria de remover as linhas com os valores duplicados de uma determinada coluna.

Workbooks.Open Filename:= _
        ThisWorkbook.Path & "rec2.XLS"
Windows("rec2.XLS").Activate


'TRATAMENTO DE DATAS

Columns("AI:AI").TextToColumns _
        Destination:=Range("AI1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(1, 4), TrailingMinusNumbers:=True


NL = Application.WorksheetFunction.CountA(Range("d:d")) + 8

Range("D9:AL" & NL).Select
Selection.Copy
Windows("projeto_recuperacao.xlsb").Activate
Sheets("plan3").Activate
Range("A4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Sheets("plan1").Activate

Se alguem tiver alguma dica fico grato

 
Postado : 13/06/2013 6:18 am
 caje
(@caje)
Posts: 97
Trusted Member
Topic starter
 

Encontrei um jeito de excluir as linhas duplicadas de uma determinada planilha.

Vou postar aqui talvez ajude outras pessoas que estão com mesmo problema o link é esse aqui : http://www.andersonsm.com.br/2010/08/excluir-linhas-repetidas-excel-vba.html

Public Sub ExcluirLinhasDuplicadasplan2() ' Função  para excluir linha duplicada

Dim Col As Integer
Dim r As Long
Dim C As Range
Dim N As Long
Dim V As Variant
Dim Rng As Range

On Error GoTo EndMacro
Application.Calculation = xlCalculationManual

Col = ActiveCell.Column

If Selection.Rows.Count > 1 Then
Set Rng = Selection
Else
Set Rng = ActiveSheet.UsedRange.Rows
End If

N = 0
For r = Rng.Rows.Count To 1 Step -1
V = Rng.Cells(r, 6).Value 'o valor 6 referencia o numero da coluna, neste caso o F
If Application.WorksheetFunction.CountIf(Rng.Columns(6), V) > 1 Then 'o valor 6 referencia o numero da coluna, neste caso o F
Rng.Rows(r).EntireRow.Delete
N = N + 1
End If
Next r

EndMacro:

Application.Calculation = xlCalculationAutomatic

End Sub
 
Postado : 17/06/2013 5:21 am