Como verificar se existem valores duplicados no Excel


PARTE I (Funções)

Neste artigo mostrarei uma forma interessante de como achar Dados Duplicados em uma seqüência de células, não é o único, mas ajuda.Vejam abaixo como será feito:



Na Coluna B coloquei algumas datas inclusive duplicadas;
Na Coluna C foram simulados alguns nomes de clientes;
Na Coluna D a Data e o Nome de cada cliente foram concatenados (unidas) com a Função: =B2&C2. Onde & serve para concatenar (unir); e
Na Coluna F foi feito a Função do Status, para saber se há duplicação, veja a Função: =SE(CONT.SE($D$2:D2;D2)>1;"Duplicado";"Único").



PARTE II (Validação de Dados)

Na parte anterior foi visto uma forma de se encontrar Duplicados através de uma função, porém nesta segunda parte a tarefa será feita pela Validação de Dados, veja nas figuras abaixo:



Assim que a pessoa digitar na célula que está com as bordas vermelhas, aparecerá uma mensagem dizendo que a o Pedido já existe, para isso antes de qualquer coisa selecione todas as células da seqüência neste caso da célula B3:B11, Clique na Guia Dados – Grupo Ferramentas de Dados – Validação de Dados e veja na figura abaixo:



Assim que abrir a Caixa de Validação de Dados, configure conforme a figura acima, em Permitir escolha Personalizado e em Fórmula digite a seguinte fórmula =CONT.SE(B$3:B$11; B3) = 1

Explicação da Função: (Essa função quis dizer que caso o valor que for digitado da B3 para baixo for igual a 1, isso quer dizer caso já exista, não será possível inserir o valor.)

Depois de ter configurado que os valores não podem ser Duplicados, vamos configurar uma Mensagem de Erro, para isso veja a figura abaixo:



Veja que para configurar uma Mensagem de erro, deve-se clicar a Guia – Alerta de Erro, depois digite o Título e a Mensagem de Erro como achar melhor, e clique em OK.

Pronto, Validação de Dados configurada. Veja agora na Planilha.



Este é mais um exemplo de como impedir que digitem alguma informação Duplicada.


PARTE III (Formatação Condicional)

Nas partes anteriores foram vistos outras duas formas de se encontrar Duplicados pela função, porém, nesta será pela Formatação Condicional, veja nas figuras abaixo:



Assim que a pessoa digitar na célula que está com as bordas vermelhas e pressionar a tecla ENTER, o valor ficará com a cor Laranja indicando que o já existe, para isso antes de qualquer coisa selecione todas as células da seqüência neste caso da célula B3:B11, Clique no Guia Início – Grupo Estilo - Formatação Condicional – Opção Nova Regra e veja na figura abaixo:



Assim que abrir a Nova Regra de Formatação, configure conforme a figura acima, escolha a Regra Usar uma fórmula para determinar quais células deverm ser formatadas a opção Formatar valores em que esta fórmula é verdadeira, e digite ao lado a seguinte Fórmula =CONT.SE($B$3:$B$11; B3) > 1

Explicação da Fórmula: (Essa função quis dizer que caso o valor que for digitado da B3 para baixo for maior que 1, isso quer dizer caso já exista, não será possível inserir o valor.)

Depois de ter configurado que os valores não podem ser Duplicados, vamos fazer os testes. Clique no Botão OK e pronto, a tabela já pode ser utilizada, veja na figura abaixo como fica o resultado caso seja Repetido.



Este foi mais um exemplo de como Impedir a Digitação de Dados Duplicados.


PARTE IV (VBA)

Esta é a quarta (e última) parte desta série. Nas partes anteriores foram vistos outras duas formas de se encontrar Duplicados pela função, porém agora faremos isso por Programação VBA, veja nas figuras abaixo:



Em uma nova planilha, abra o editor Microsoft Visual Basic (Aperte Alt + F11). No lado esquerdo da janela que se abrirá, clique duas vezes na planilha onde você deseja aplicar o código (neste exemplo estarei aplicando na Plan3).




Assim que clicar duas vez na Planilha desejada, copie o código abaixo na área branca a direita como na figura acima.

Copie o código abaixo:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
On Error Resume Next
Dim nLinComp As Integer, nLinFim As Integer ' => declara nLinha como Inteiro
Dim Resp As String

nLinFim = 3 '=> define qual será a linha onde inicia-se os dados para achar o final da lista

Do While Not IsEmpty(Cells(nLinFim, 2)) '=> irá comparar enquanto a célula não estiver vazia
nLinFim = nLinFim + 1 '=> adiciona uma linha para baixo
Loop

nLinComp = 3 '=> define qual será a linha que inicia-se os dados para a comparação dos dados
Do While nLinComp <= nLinFim - 2 '=> irá fazer enquanto tiver Valor digitado
If Cells(nLinFim - 1, 2).Value = Cells(nLinComp, 2).Value Then '=> se o último Valor digitado for repetido, irá para o processo abaixo
Cells(nLinFim - 1, 2).Activate '=> ativa a célula do Valor digitado incorretamente.
Resp = MsgBox("O Valor " & "'" & ActiveCell & "'" & " já consta na planilha." & _
vbCrLf & vbCrLf & "Este Valor será Excluido !", vbCritical, " Valor !") '=> exibe a mensagem
Cells(nLinFim - 1, 2).ClearContents '=> Exclui o Valor digitado caso seja repetido
Exit Sub
Else
nLinComp = nLinComp + 1 '=> compara o próximo Valor da lista
End If
Loop

Cells(nLinComp + 1, 2).Activate '=> Se não encontrar mais valores repetidos, ativa a célula subsequente
End Sub


P.S.: O texto que está após as aspas simples ('), é um texto de comentário, isso é não será executado pela Linguagem VBA, para colocar algum texto como comentário é só colocar o aspas simples (') antes do texto que deseja comentar.

Agora Vamos fazer o teste para ver como fica o resultado na planilha, veja abaixo:



Após clicar no Botão OK, o resultado será esse abaixo:



O Valor repetido é excluído automaticamente.

Eduardo Andrade - MCAS in Excel & Access -- 24/3/2010


Al. Santos, 1293 - 9° andar  |  Jd. Paulista - São Paulo-SP  |  11 3284-7388


Copyright © 2014 by CompuClass Informática

Outros Links:

ESCOLA DE INFORMÁTICA - CURSO DE OFFICE - CURSO DE EXCEL - CURSO DE WORD - CURSO DE ACCESS
CURSO DE POWERPOINT - CURSO DE PROJECT - CURSO DE OUTLOOK - CURSO DE REDES & CABEAMENTO
CURSO DE HARDWARE - CURSO DE MATEMÁTICA FINANCEIRA - CURSO DE HTML & CSS - CURSO DE JAVASCRIPT & JQUERY
CURSO DE ASP - CURSO DE PHP - CURSO DE LÓGICA DE PROGRAMAÇÃO - CURSO DE WINDOWS SERVER
CURSO DE SQL SERVER - BÁSICOS E AVANÇADOS - GARANTIA DE APRENDIZADO - CURSOS PARA EMPRESAS
CURSOS IN-COMPANY - ESCOLA DE INFORMATICA - MICROSOFT CERTIFIED PARTNER - COMPUCLASS INFORMÁTICA