EXCLUIR LINHAS COM DADOS DUPLICADOS

CLAUDINEICAJE 13/06/2013 09:10:42
#424708
Bom dia

Tenho a seguinte duvida espero que alguém posso me ajudar

Estou importando dados de uma determinada planilha porém gostaria de remover algumas linha com valores duplicados baseado na coluna A da nova planilha que estou montando.

Abaixo trecho do codigo.

Workbooks.Open Filename:= _
ThisWorkbook.Path & [Ô]ec2.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


Application.CutCopyMode = False
[ô]Esse comando limpa a área de transferência


Windows([Ô]rec2.XLS[Ô]).Close False






KERPLUNK 13/06/2013 11:34:22
#424721
Porque você simplesmente não abre a planilha usando uma conexão ADO normal e faça um [Ô]DISTINCT[Ô] na coluna?
CLAUDINEICAJE 14/06/2013 07:59:12
#424762
Sou iniciante em Vba e ainda não sei todos os recursos que a linguagem oferece

vou estudar sobre essa conexão ADO pode ser que isso ajude.

Se você puder postar um exemplo agradeceria.

Obrigado pela dica
NALDOXD 14/06/2013 09:43:08
#424765
Claudinei, na hora que você for dar o select na conexão ado coloque um distinct no select mesmo por exemplo:

select campo, campos, DISTINCT(campinho), campao from tabela;

assim os campinhos repetidos não irão aparecer.. IS MAGIC!!
CLAUDINEICAJE 17/06/2013 09:22:48
#424863
Primeiro gostaria de Agradecer as dicas do NALDOXD e KERLUNK mas acabei

Optando por outra solução pois estou sem trabalhado apenas com planilhas sem banco de dados mas vou postar aqui a solução que encontrei

o link é esse aqui http://www.andersonsm.com.br/2010/08/excluir-linhas-repetidas-excel-vba.html

E o codigo que apliquei para corrigir o problema foi esse aqui.


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
Tópico encerrado , respostas não são mais permitidas