Encontrar valores repetidos

Respuesta de
a
Usuario
Saludos
En una columna de EXCEL tengo 20149 celdas con un número de 12 dígitos de longitud. A partir de éste voy a calcular el código EAN-13 de código de barras pero antes de eso, NECESITO ASEGURARME QUE EN ESOS 20149 VALORES NO HAY NINGUNO REPETIDO. ¿Cómo me aseguro que valores nuevos que voy introduciendo no se encuntren ya utilizados? Gracias mil
Avatar
Experto
Hola:
Lo primero que tenemos que hacer, si entendí bien, es marcar donde se encuentren valores repetidos en una columna. Para eso lo más apropiado será utilizar, en una columna adicional, la función:
=CONTAR.SI($B$3:$B$20149;B3) suponiendo que los datos a verificar se encuentren en la columna B. Rellena toda la columna con esta función. Luego desde el menú Datos/Filtros busca en esta columna adicional, las celdas con valor distinto de 1 (esas serán las que se encuentren repetidas) y sabrás que hacer con ellas. Esta columna luego la puedes eliminar.

Ahora bien, para evitar en el futuro introducir valores repetidos debes crear una macro: Alt+F11 para llamar al Editor de VB, selecciona la hoja donde vas a ingresar estos datos en el sector izquierdo, y en el sector derecho copia esto:
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveCell.Column = 2 And ActiveCell.Row > 2 Then 'está pensado para la col B
If ActiveCell.Offset(-1, 0).Value <> 0 Then
Dim valor As Variant
Dim actual, fila As Integer
actual = ActiveCell.Offset(-1, 0).Row
fila = 1 - actual
valor = ActiveCell.Offset(-1, 0).Value
Do While fila < -1
If ActiveCell.Offset(fila, 0).Value = valor Then
MsgBox ("Ya existe ese número")
ActiveCell.Offset(-1, 0).Value = 0
ActiveCell.Offset(-1, 0).Select
fila = 0
Exit Do
Else
fila = fila + 1
End If
Loop
End If
End If
End Sub

Solo debés colocar el número de columna donde vas a ingresar los datos que no querés que se dupliquen.
Pruébalo y si te queda alguna duda me volvés a consultar.
Saludos cordiales,
Elsa

Pd) Por favor no olvides finalizar la consulta.