Macro para copiar fila según condición de celda

Ha sido de gran ayuda. Tengo 2 hojas en el libro "Resumen" y "Base", Lo que necesito es una macro que recorra una base de datos dinámica, ubicada en la hoja "base", tiene 34 columnas y las filas aumentan con el tiempo. La macro debe comparar cada celda con la celda A2 de la hoja "base" que contiene un nombre, cuando lo encuentre, debe copiar toda la fila, desde la columna 1 a la 34 y pegarla en la hoja "base", después de la ultima fila con datos.

1 respuesta

Respuesta
1

Puedes aclarar lo siguiente:

En la hoja "base", celda "A2" tienes un nombre, ¿correcto?

Ese nombre hay que buscarlo en la hoja "base", ¿en cuál columna?

Si lo encuentro, ¿copio toda la fila de la hoja "base" y lo pego en cuál hoja? Supongo que en la hoja "resumen", pero escribiste "pegarla en la hoja "base", después de la ultima fila con datos"

E spero tus comentarios

SI en la hoja base esta el nombre de una persona, y ese nombre hay que buscarlo en toda la tabla, puede estar en varias columnas y varias filas. Y si encuentro el nombre, copio toda la fila y la pego en la hoja resumen después de la ultima fila con datos, creo que si escribí mal.

Nuevamente y de antemano, muchas gracias

Te anexo la macro

Sub BuscarNombre()
'Por.Dante Amor
    Set h1 = Sheets("base")
    Set h2 = Sheets("resumen")
    Set xc = h1.[A2]
    nombre = xc.Value
    If nombre = "" Then
        MsgBox "Falta el nombre"
        Exit Sub
    End If
    '
    Set r = h1.Cells
    Set b = r.Find(nombre, LookIn:=xlValues, lookat:=xlPart)
    If Not b Is Nothing Then
        celda = b.Address
        Do
            If b.Address <> xc.Address Then
                u = h2.UsedRange.Rows(h2.UsedRange.Rows.Count).Row + 1
                b.EntireRow.Copy h2.Cells(u, "A")
            End If
            Set b = r.FindNext(b)
        Loop While Not b Is Nothing And b.Address <> celda
    Else
        MsgBox "No Existe El Dato: " & dato, vbExclamation
    End If
End Sub

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

Hola Dante, acabo de probarla y funciona muy bien, sin embargo, la informacion obtenida, quisiera que la pegara desde la celda B21 de la hoja resumen, pero que antes de pegar,  borre los datos desde la celda a21 hasta el final y entonces si pegue los datos que se obtuvieron de  la hoja Base. Nuevamente muchas gracias. 

Con mucho gusto te ayudo con todas tus peticiones.

Lo que estás solicitando no está en tu solicitud original

Valora esta respuesta adecuadamente y crea una nueva pregunta en el tema de microsoft Excel. En el desarrollo de la pregunta escribe: "para Dante Amor". Ahí me describes con detalle lo que necesitas.

Sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas