Macro para validad datos

Necesito hacer una macro donde controle que los números ingresados en una columna (por ejemplo: columna A) no se repita y por lo tanto no me deje ingresarlo avisando con mediante un cartel.
Desde ya agradezco su ayuda.

1 Respuesta

Respuesta
1
No necesitas una macro para esto. El menú Datos, Validación te lo permite.
Seleccioná tu rango de entrada de datos, imaginaré que empieza en A5
Desde menú Validación, optá por Personalizada y en el campo de origen escribí esta fórmula (tal como la ves)
=CONTAR.SI($A$5:A5;A5)<2
Aceptá y probala. Si esto responde a tu consulta no olvides finalizarla.
* Este truco y otros 100 temas más los encontrarás resueltos en mi manual de Excel.
Muchas Gracias Elsa por tu respuesta, pero te comento que actualmente estoy usando esa validación, pero, ya tengo 3200 datos (se trata de una base) y mediante la fórmula que me indicas se torna muy lento el control.
Mi idea es (no se se si es acertada) reemplazar esta validación por una macro y así pienso que ganaría velocidad.
Espero que puedan ayudarme.
Bien, en ese caso utilizá esta rutina.
Entrá al Editor y seleccioná con doble clic el objeto HOJA donde vas a controlar la col A
Copiá esta macro y ajustá la col y el mensaje a tu gusto (lo que te dejo en negrita)
Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'controlamos lo ingresado en col A
If Target.Column <> 1 Then Exit Sub
'contamos las repeticiones de ese valor desde A2 hasta la celda activa
conta = Application.WorksheetFunction.CountIf(Range("A2:A" & Target.Row), Range("A" & Target.Row))
If conta > 1 Then
    MsgBox "Este nro ya se encuentra registrado"
    'se limpia la celda y se posiciona nuevamente en ella
    Application.EnableEvents = False
    Target.Value = ""
    Application.EnableEvents = True
    Target.Select
End If
End Sub
Ya lo probé e hice las modificaciones a mi medida, Muchas gracias Elsa, en dos respuestas me solucionaste varios días de dolor de cabeza!
Sos una genia! (Seguro que voy a preguntarte más cosas jua!)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas