Encontrar datos repetidos aviso de form

Tengo un listado de clientes que ingreso por un medio de un formulario,

Pero me he dado cuenta que he iingresado varias veces la misma persona, el cual no debería ser por que ya existe en la BD,, así que con formato condicional encontré la opción para que me diera los duplicados y les coloque un formato de color de fondo en la celda, pero es muy básico, funcional pero básico, ¿hay alguna manera que me muestre un aviso tipo validación en pantalla aleratandome que es registro ya existe?,, ¿En el momento del ingreso con el formulario que estoy usando? Es decir al momento de ingresa salga el aviso, o puede ser directamente desde el formulario para ahorrar más tiempo y no tener que borrar el registro

Respuesta
1

Hello Lug, puedes poner una imagen de la hoja con algunos de los datos ingresados para ver la estructura y algún patrón. También podrías decir cual, o cuales, columnas deben considerarse para determinar si el registro ya existe.

ahh, sr andy saludos

Tienes el libro

En la hoja clientes,, con el formulario que esta allí, sino lo tienes me cavisas para enviártelo de nuevo

Si es el ultimo que me mandaste en la pregunta anterior no lo pude descargar porque me pedía una contraseña, anterior a ese ya no los tengo. Así que tendrías que darme la contraseña o mandarme otro link.

Andy

https://drive.google.com/open?id=18ipq80LyXUo9WjBYIqZNloK7hFeciy1E 

No tiene contraseña, y es el más actualizado..

Hombre de verdad, esta protegido. Lo descargue y cuando lo abro pide contraseña.

Andy

ahh disculpa

es q la sra q lo usa le puso clave,,,, digita el numero  5

Usa este código en el evento Exit del TextBox del Documento. Cuando escribes un ID y sales, el sistema te dará un mensaje diciendo que ese registro ya existe y te pregunta si quieres continuar. Si dices que si, no pasa nada más, si dices que No, borra los campos (excepto el ultimo) y deja la forma abierta por si quieres intentar ingresar otro. Lo hice con el ID porque supongo que es un dato único.

Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Me.TextBox3.Value = "" Then Exit Sub
Dim BuscarID As String: BuscarID = Me.TextBox3.Value
Dim Rng As Range
Dim Ctr As Control
With Range("D:D")
    Set Rng = .Find(What:=BuscarID, _
                    After:=.Cells(.Cells.Count), _
                    LookIn:=xlValues, _
                    LookAt:=xlWhole, _
                    SearchOrder:=xlByRows, _
                    SearchDirection:=xlNext, _
                    MatchCase:=False)
    If Not Rng Is Nothing Then
        If MsgBox("Este registro ya existe. ¿Seguro que desea continuar?", vbExclamation + vbYesNo, "Repetido...") = vbNo Then
            For Each Ctr In Me.Controls
                If TypeName(Ctr) = "TextBox" Then
                    If Ctr.Name <> "TextBox5" Then
                        Ctr.Value = ""
                    End If
                End If
            Next Ctr
        End If
    End If
End With
End Sub

video demo: video demo

Andy

¡Gracias! andy,, era lo que buscaba,, antes lo tenia con formato condicional pero así con el código es mejor. Una inquietud, ¿es mejor escoger los datos repetidos por cedula que por nombres? ¿Cierto? En es este caso el texbox3,,, iba a coolocarlo en el texbox1 (nombre), pero creo que por ID, es decir por indentificacion es mejor y más practico, así como lo muestras

¿Cómo ves ese archivo?, ¿qué errores tienes y en que puedo mejorarlo? O agregarle,,, ya tengo un archivo de agenda pero en otro libro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas