Impedir o rechazar datos repetidos en celdas de excel

Nuevamente por aquí, mi pregunta es la siguiente tengo una lista de alumnos y no quiero que se repita 2 o más veces como puedo hacer eso; que al momento de introducir el mismo datos me tire un error o no acepte el datos introducido.

1 respuesta

Respuesta
1

En el evento de Worksheet_Change, las macros te deben quedar así:

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Range("AC7")) Is Nothing Then
        [AC8] = ""
        [AE8] = ""
        buscar
    End If
    If Not Intersect(Target, Range("B:B")) Is Nothing Then
        cuantos = Application.CountIf(Range("B:B"), Cells(Target.Row, "B"))
        If cuantos > 1 Then
            MsgBox "Ya existe el nombre: " & Target, vbExclamation, "DUPLICADO"
            Application.EnableEvents = False
            Target = ""
            Target.Select
            Application.EnableEvents = True
        End If
    End If
End Sub

Saludos.Dante Amor

No olvides valorar la respuesta.

Dante nuevamente gracias por tu ayuda pero acepta el mismo nombre en las siguientes seldas. Gracias...

¿Es para validar el nombre del alumno que pones en la columna "B" o en qué columna quieres validar?

Si, los nombres y apellidos están en las columnas (BCD)...

Ose, cuando quiero meter un nombre nuevo alumno me tire un error en la celda que no se puede introducir al alumno, por que tiene el mismo nombre y apellido.. en las celtas (BCD) en todas las celdas de la hoja...

Disculpa pero no entiendo, ¿en dónde estás escribiendo el nombre?

en estas celdas inscribo a los alumnos: 

¿Cómo pusiste la macro?

El código que me diste lo puse y no hace nada, acepta las mismos nombres o apellidos

El nombre que capturas debe ser igual, es decir, si escribiste

"Pedro Aguilar"

Y en otra celda escribes

"Pedro Aguilar" entonces te envía el mensaje de error

Te anexo el archivo con el que hago pruebas.

https://www.dropbox.com/s/vnu5896h6zc0ncb/Notas%20dam3.xlsm?dl=0 

Pues mira lo probé registrando 3 alumnos con solo el nombre de: "Leo" y los acepta, es hay donde debería de salir un error: "ya existe, esta repetido"; no se algo de mensaje que lo  bloquee. te paso una captura:

Ojo que el validador de las celdas no las quiero tocar por que esta con aplicaciones que solo permita letras y no signos, números, etc...

EN el archivo dam3 que te envié cuando pones el segundo "Leo" te envía el mensaje de error

Prueba en mi archivo dam3 y cuando lo abras revisa que las macros estén habilitadas.

Que desgracia bro, no me funciona me acepta lo  mismo en todas las celdas tal como ves en la imagen, las macros están activadas o habitadas que estará mal? 

Dante te paso el archivo ya esta con:

- Buscar ID

- Colocar solo mayúsculas en las celdas 

- Bloquear nombre y apellidos repetidos  (falta, no me sale)

Gracias bro....

https://mega.co.nz/#!2l93zJZR!UGlwRQWF58bR6dJdjIE73eA9mJGAMaNjUfFtShVqMqk  

Incluir clave del archivo

Pero estas probando con mi archivo dam3

Tu archivo está muy grande tiene 13 megas y está prácticamente vacío, por eso eliminé todas las celdas que no ocupas para reducirlo a 94k

Depura tu archivo elimina todas las imágenes que no ocupas, todas las filas que tienes vacías, etc.

Vuelve a probar mi macro en mi archivo, ahí sí me funciona, como viste en la imagen que te envié.

Recuerda poner la macro en los eventos de worksheet

Se me fregó todo, me sale este error al momento de abrir nuevamente el archivo:

No se acaso al tener imágenes y más códigos no funciona o no corre bien, fíjate el archivo que te mande sale el mismo error, pensé que esos errores eran de borar los botones letras mayúsculas y letras minúsculas, pero nada me tira ese error...

Dante, una cosa en la opción de buscar que pasa si el nombre no existe?, lo he probado y se cuelga el excel me tira ese error, que cada ves que busco y lo guardo un nombre al iniciar me tira ese error.

Para los duplicados, prueba con mi archivo dam3.

Con esta macro se corrige el problema si el nombre no existe.

Sub buscar()
'Por.Dante Amor
    ini = [AC8]
    Do While True
        u = Range("A" & Rows.Count).End(xlUp).Row
        Set r = Range("A" & 17 + ini & ":D" & u)
        Set b = r.Find([AC7], LookAt:=xlPart)
        If Not b Is Nothing Then
            [AC8] = Cells(b.Row, "A")
            [AE8] = Cells(b.Row, "B")
            Exit Do
        Else
            If [AC8] > 0 Then
                If b Is Nothing Then
                    Exit Do
                Else
                    ini = 0
                End If
            Else
                Exit Do
            End If
        End If
    Loop
End Sub

Dante amigo mira talvez te este acobardando con este tema, pero te pido que mires el archivo que te mande chequea esos errores; ya que están ahí las 3 aplicaciones que necesito en el archivo de excel, ese mensaje que te comente me sale cada que modifico lo guardo, lo abro de nuevo,se jode todo con ese mensaje.

No me has respondido si probaste la duplicidad de nombres con el archivo dam3

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas