Buscar valores repetidos en una columna y, en caso de encontrarlos, verificar si los valores de la columna contigua también se r

Me estoy introduciendo en el atrapante mundo de la programación en VBA y me encontré con un desafío insalvable para mí.

Tengo una planilla excel con varias columnas que contiene datos de diferentes personas (apellido, nombres, fecha de nacimiento, lugar de trabajo, número de documento, etc.).

Ahora estoy elaborando un formulario que me permita realizar altas, consultas, modificaciones e impresiones de todos esos datos.

En el caso del ingreso de nuevos registros, deseo que tras ingresar el apellido y los nombres, VBA verifique: primero en la columna A (donde se alojan los apellidos) si encuentra el valor ingresado en el textbox correspondiente y, en caso de encontrar repeticiones, haga el mismo trabajo en la columna B (donde se alojan los nombres), para verificar si la persona a ingresar en realidad ya consta en el listado.

Por ejemplo, si ingreso "Martín" en el textbox nombre y "Sosa" en el textbox apellido, VBA puede encontrar varios "Sosa" y "Martín" en el listado, pero no necesariamente quiera decir que exista un registro para alguien llamado "Martín Sosa"; es decir un registro o fila que contenta "Martín" en la columna o campo de nombre y "Sosa" en la columna o campo de apellido.

1 respuesta

Respuesta
2

Te anexo un ejemplo para que lo adaptes a tu formulario

Private Sub CommandButton1_Click()
'Por.Dante Amor
    'Validar apellido en columna A y nombre en B
    If TextApe = "" Or TextNom = "" Then
        MsgBox "Captura apellido y Nombre"
        Exit Sub
    End If
    Set h1 = Sheets("Registros")    'nombre hoja para buscar los datos
    existe = False
    For i = 1 To h1.Range("A" & Rows.Count).End(xlUp).Row
        If LCase(h1.Cells(i, "A")) = LCase(TextApe) And _
           LCase(h1.Cells(i, "B")) = LCase(TextNom) Then
            existe = True
            Exit For
        End If
    Next
    If existe Then
        MsgBox "Ya existe un registro con ese nombre y apellido"
    Else
        MsgBox "No existe ningún registro"
    End If
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas