Excluindo valores duplicados ( nome ou número )

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Excluindo valores duplicados ( nome ou número )

Mensagem  KDU em Dom Ago 21, 2011 2:54 pm

Antes de começar....

Se algum tópico ficar confuso, basta pedir uma vídeo aula. Podemos ficar combinados assim? Assim nosso tópicos ficam mais dinâmicos e paramos para gravar só naquela mais chato. OK ?

Voltando...

Eu vou começar fazendo uma macro para tirar duplicidades. Eu sei que hoje o Excel 2007 e 2010 tem este recurso mas antes era um sofrimento.
Ainda lembro da minha primeira prova de Excel. Depois de fazer o básico, fórmulas fui questionado. Você sabe mexer com Macros ? E eu , claro que sim, estou no começo mas já sei o bastante ( detalhe, eu não sabia nada, a não ser usar o sistema de gravar e por para rodar. Meu amigo virou uma bagunça ! kkkkkkk. Por fim nada funcionou.

Por fim, fiquei com cara de bobo. Mas naquele dia eu decidi a correr atrás. Depois de um tempo, passei a automatizar o meu serviço.
Hoje eu tenho várias planilhas espalhadas pela empresa ajudando o pessoal.

Excluindo Duplicidades

Como funciona:

Exemplo 1: Vou comparar apenas a coluna A, onde é para ter um registro único. 14. o segundo ele vai excluir.
Selecione uma coluna A depois aperte ALT+F8, clique na macro ExcluirLinhasDuplicadas e execute a macro;




Exemplo 2: Preciso comparar duas colunas, porque tem dois números iguais, mas estabelecimentos diferentes !!!
Nesta imagem, por lógica você poderia selecionar a coluna B e executar a macro, mas aqui temos dois nomes, imagine um banco de dados maior.

Então para garantir o processo, crie uma nova coluna com os valores concatenados, =A1&B1
Isso faz com que o registro fique único, então deixe selecionado a coluna C e aperte ALT+F8 e execute a macro




Tem como melhor e muito a macro, mas ficaríamos nesta macro até amanhã.
Só neste macro você tanto pode excluir a duplicidade ou escolher uma coluna com nome para tirar os espaços. Quando você aperta ALT+F8 você pode rodar uma das duas sem problemas.

OK até aqui ?

Dúvidas entre em contato em pessoal !!!!


Copie o código abaixo e cole em um módulo do VBA


Public Sub ExcluirLinhasDuplicadas()

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

ESPAÇOS 'Aqui ele chama outra macro pra tirar os espaços caso a coluna tenha nome com espaços.

Application.ScreenUpdating = False
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, 1).Value
If Application.WorksheetFunction.CountIf(Rng.Columns(1), V) > 1 Then
Rng.Rows(r).EntireRow.Delete
N = N + 1
End If
Next r

EndMacro:

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

End Sub

Public Sub ESPAÇOS()

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


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 = Trim(Rng.Cells(r, 1).Value)
Rng.Cells(r, 1).Value = V

Next r

End Sub


avatar
KDU
Admin

Mensagens : 26
Data de inscrição : 17/08/2011
Idade : 36

http://excel.queroforum.net

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum