Recoger datos de 2 hojas en las cuales hay un denominador común, en una tercera.

Tengo 2 hojas con un dato en común. La primera es una lista de clientes, numerados por un único numero, celda A1 a Ax, y la segunda recoge con el mismo numero de cliente, los servicios realizados, en varias líneas. Quiero obtener un la primera hoja, los datos de la 2nda que coincidan por numero de cliente. Si uso el BscarV solo me da la primera línea encontrada, y se deja las demás coincidentes.. ¿Cómo lo puedo hacer?

1 respuesta

Respuesta
1

Con una fórmula solamente vas a obtener un resultado, en este caso, con buscarv, obtendrías la primera coincidencia, habría que poner una serie de fórmulas para traer todas las coincidencias para el primer cliente, pero si vas a tener varios clientes y quieres todas las coincidencias de todos esos clientes, lo más conveniente es que se haga con una macro.

Dime si puede ser con una macro, para prepararla.

Saludos. Dante Amor

Gracias Dante Si se puede hacer con una macro. Los datos serán para exportar después a otra BBDD!

Te anexo la macro, lo que hace es, por cada número de cliente que tengas en la columna "A" de la "Hoja1", buscarlo en la columna "A" de la "Hoja2" y todas las coincidencias las pondrá en la "Hoja3".

Cambia en la macro los nombres de las hojas por el nombre que tengas.

Sub RecogerDatos()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    Set h3 = Sheets("Hoja3")
    '
    h3.Cells.Clear
    h2.Rows(1).Copy h3.[A1]
    j = 2
    For i = 2 To h1.Range("A" & Rows.Count).End(xlUp).Row
        Set r = h2.Columns("A")
        Set b = r.Find(h1.Cells(i, "A"), lookat:=xlWhole)
        If Not b Is Nothing Then
            ncell = b.Address
            Do
                h2.Rows(b.Row).Copy h3.Range("A" & j)
                j = j + 1
                Set b = r.FindNext(b)
            Loop While Not b Is Nothing And b.Address <> ncell
        End If
    Next
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: RecogerDatos
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

Descarga el archivo del siguiente enlace, para que veas cómo tienen que estar las hojas y los datos en las hojas.

https://www.dropbox.com/s/9dwms7alxcujzdt/recoger%20datos.xlsm?dl=0 


Saludos. Dante Amor

Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas