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
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...
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...
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é.
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.
- Compartir respuesta