Você está na página 1de 7

Como verificar se existem valores duplicados no

Excel
PARTE I (Funes)
Neste artigo mostrarei uma forma interessante de como achar Dados Duplicados em uma
seqncia de clulas, no 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 Funo:
=B2&C2. Onde & serve para concatenar (unir); e
Na Coluna F foi feito a Funo do Status, para saber se h duplicao, veja a Funo:
=SE(CONT.SE($D$2:D2;D2)>1;"Duplicado";"nico").

PARTE II (Validao de Dados)


Na parte anterior foi visto uma forma de se encontrar Duplicados atravs de uma funo, porm
nesta segunda parte a tarefa ser feita pela Validao de Dados, veja nas figuras abaixo:

Assim que a pessoa digitar na clula 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
clulas da seqncia neste caso da clula B3:B11, Clique na Guia Dados Grupo Ferramentas de
Dados Validao de Dados e veja na figura abaixo:

Assim que abrir a Caixa de Validao de Dados, configure conforme a figura acima, em Permitir
escolha Personalizado e em Frmula digite a seguinte frmula =CONT.SE(B$3:B$11; B3) = 1
Explicao da Funo: (Essa funo quis dizer que caso o valor que for digitado da B3 para baixo
for igual a 1, isso quer dizer caso j exista, no ser possvel inserir o valor.)
Depois de ter configurado que os valores no 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 Ttulo e a Mensagem de Erro como achar melhor, e clique em OK.


Pronto, Validao de Dados configurada. Veja agora na Planilha.

Este mais um exemplo de como impedir que digitem alguma informao Duplicada.

PARTE III (Formatao Condicional)


Nas partes anteriores foram vistos outras duas formas de se encontrar Duplicados pela funo,
porm, nesta ser pela Formatao Condicional, veja nas figuras abaixo:

Assim que a pessoa digitar na clula 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 clulas da seqncia neste caso da clula B3:B11, Clique no Guia Incio
Grupo Estilo - Formatao Condicional Opo Nova Regra e veja na figura abaixo:

Assim que abrir a Nova Regra de Formatao, configure conforme a figura acima, escolha a Regra
Usar uma frmula para determinar quais clulas deverm ser formatadas a opo Formatar valores
em que esta frmula verdadeira, e digite ao lado a seguinte Frmula =CONT.SE($B$3:$B$11;
B3) > 1
Explicao da Frmula: (Essa funo quis dizer que caso o valor que for digitado da B3 para baixo
for maior que 1, isso quer dizer caso j exista, no ser possvel inserir o valor.)
Depois de ter configurado que os valores no podem ser Duplicados, vamos fazer os testes. Clique
no Boto 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 Digitao de Dados Duplicados.

PARTE IV (VBA)
Esta a quarta (e ltima) parte desta srie. Nas partes anteriores foram vistos outras duas
formas de se encontrar Duplicados pela funo, porm agora faremos isso por Programao 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 cdigo (neste
exemplo estarei aplicando na Plan3).

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

Copie o cdigo 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 clula no 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 comparao 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 clula 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 prximo Valor da lista
End If
Loop
Cells(nLinComp + 1, 2).Activate '=> Se no encontrar mais valores repetidos, ativa a clula
subsequente
End Sub
P.S.: O texto que est aps as aspas simples ('), um texto de comentrio, isso no ser
executado pela Linguagem VBA, para colocar algum texto como comentrio 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:

Aps clicar no Boto OK, o resultado ser esse abaixo:

O Valor repetido excludo automaticamente.


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

Você também pode gostar