No repetición

Amigo, disculpa que te moleste, qpero quería saber si sabias cual es la instrucción para que no deje repetir títulos, me explico, tengo un formulario en donde uno digita el numero, ¿cómo puedo hacer para que si dijitan un numero saber si esta ya en la base de datos o no? Y si está que le diga a uno que ese numero ya existe, ¿pregunto seria igual para el caso de que fueran letras? ¿Es decir palabras?, gracias, pero no molestarte mucho, que sigas mejorando amig, un abrazo

1 respuesta

Respuesta
1
Utiliza la validación de datos.
Es decir, sobre una celda donde se vayan a ingresar los datos (ej: F3), haz "Datos" | "Validación" y en la solapa de configuración selecciona la opción "Personalizada" y en la caja inferior coloca una fórmula como esta:
=CONTAR.SI($F$3:$F$163;F3)<2
Ya sabes que puedes colocar u mensaje para quien ingresa datos y otro para el caso de error (=cuando no cumple la condición que le acabas de indicar)
Básicamente la fórmula permite hasta un ingreso del dato que le entras. Si cuneta más de uno te dará el mensaje de error.
Corrige los rangos de la fórmula, copia esta celda y pégala (o su validación) al resto de las celdas del rango.
Me parece que esto es lo que querías.
Un abrazo!
Fernando
Pd: Estable. Sin novedades... por suerte.
Disculpa por no expresarme correctamente, pero lo que deseaba es que ningún dato de una columna por fuese igual, es decir que ninguno se repita, y cuando uno ingrese uno que ya este en esa base de datos (en la columna de Decretos por ejemplo) le de el mensaje de que cambie el criterio, pero no se cual es la instrucción para hacer eso, claro siempre estamos dentro del formulario ok, Agradezco tu rapidez amigo, chao, que podes dormir muy bien, un gran abrazo
Ya te había enviado una rutina para control de existencia (usando FIND) que podrías haber modificado para resolver este problema.
De todos modos este es el código adaptado a tu pedido:
Sub ContrDup()
Dim text2search As String
Dim rang2search As Range
text2search = Trim(TextBox1.Text)' cambia aquí el objeto que contiene el dato a buscar (Fíjate si es un texto o un número)
Set rang2search = Range("D6:D1110") ' Pon aquí tu rango de búsqueda
Set c = rang2search.Find(text2search, LookIn:=xlValues)
If Not c Is Nothing Then
'SI está
MsgBox "Valor ingresado (" & text2search & ") ya está ingresado", vbCritical, ">>> DUPLICADO!!!"
TextBox1.Value = ""
TextBox1.SetFocus
UserForm1.Show
Else
'NO está"
'tus comandos para el caso que no estuviera duplicado
End If
Set c = Nothing
End Sub
Espero que ahora sí esté cubierto tu requerimiento.
Abrazo!
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas