Realizar una consulta en una celda y si encuentra el dato en una matriz en otra hoja rellenar los campos de una nueva matriz

Tengo una base de datos con información como cuil apellido nombre titulo num. De legajo etc. Que cargo con un formulario en una hoja distinta y lo que quiero es en una hoja con el mismo formato del formulario de carga con una celda donde pueda colocar el dato a buscar me rellene el formulario con los datos, he utilizado buscarv y funciona pero solo para los datos de la primer columna y yo quiero poder realizar la búsqueda por cuil o por apellido por ejemplo y me rellene el formulario y si hay más de una persona con el mismo dato me habilite el ver todos los registros con el mismo dato

1 respuesta

Respuesta
1

Podría hacerse con una macro, pero para desarrollarla tendría que ver cómo está tu información y como tienes el formulario.

Podrías enviarme una muestra de tu archivo con tus 2 hojas, en otra hoja me pones cómo quieres que quede la información cuando pones cuando hay más de una persona con el mismo dato.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Jorge Hector Araujo” y el título de esta pregunta.

Gracias Dante por tu pronta respuesta ya te envié el correo con la información y el archivo

Te anexo la macro para la consulta de apellido y cuil

Sub Buscar()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set h1 = Sheets("CONSULTA")
    Set h2 = Sheets("base de datos")
    ape = "*" & UCase(h1.[C6]) & "*"
    cui = "*" & h1.[C7] & "*"
    u = h1.Range("A" & Rows.Count).End(xlUp).Row
    If u < 9 Then u = 9
    h1.Range("A9:G" & u).ClearContents
    j = 9
    For i = 2 To h2.Range("A" & Rows.Count).End(xlUp).Row
        If h2.Cells(i, "A") Like cui And UCase(h2.Cells(i, "B")) Like ape Then
            h2.Rows(i).Copy
            h1.Rows(j).PasteSpecial Paste:=xlPasteValues
            j = j + 1
        End If
    Next
End Sub

Saludos.Dante Amor

Hola Dante funciona pero ya era así con la opción buscarv lo que yo querría es que busque en una sola celda por ejemplo la C7 que al ingresar allí el cuil o el apellido o nombre busque en la hoja base de datos en la matriz de carga ese dato y lo traiga a la hoja consulta y vaya rellenando una matriz horizontal de los datos si es apellido porque pueden haber varios con el mismo apellido, es decir que vaya agregando en la lista tantas filas como apellidos iguales haya encontrado, es decir si encuentra 2 araujo que me aparezcan una planilla con todos los datos de los 2 araujo, porque de la otra forma si le pongo el apellido solo me muestra el primero que encuentre, espero me entiendas, saludos Jorge

¿Revisaste el archivo dam?

Con la opción que te puse te pone varios registros, con la fórmula buscarv solamente obtienes los datos del primer registro.

Te anexo la macro para buscar solamente con una celda, puedes buscar por cualquier dato: "CUIL" "Apellido" "Nombres" "Titulo Secundario" "Titulo Superior" "Competencia de Titulo" "NUMERO LEGAJO"

Sub Buscar()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set h1 = Sheets("CONSULTA")
    Set h2 = Sheets("base de datos")
    dato = h1.[C6]
    u = h1.Range("A" & Rows.Count).End(xlUp).Row
    If u < 8 Then u = 8
    h1.Range("A9:G" & u).ClearContents
    j = 8
    Set r = h2.Cells
    Set b = r.Find(dato, lookat:=xlPart)
    If Not b Is Nothing Then
        ncell = b.Address
        una = True
        fila = b.Row
        Do
            'detalle
            If fila <> b.Row Then
                una = True
            End If
            If una Then
                h2.Rows(b.Row).Copy
                h1.Rows(j).PasteSpecial Paste:=xlPasteValues
                j = j + 1
                una = False
                fila = b.Row
            End If
            Set b = r.FindNext(b)
        Loop While Not b Is Nothing And b.Address <> ncell
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas