Unificar Datos especificos de varios excel en otro excel

Necesitaría ayuda para definir una macro que haga la siguiente tarea:

En la misma carpeta esta el fichero de Destino :

- El cual contiene 1 columna (A:A) con referencias

-Y varios ficheros excel "referencias" con formato plantilla definidos de los cuales necesito extraer el dato de "X" casilla y ponerlo al lado de cada referencia en el fichero destino a modo de búsqueda.

Por ejemplo... Quiero que la macro busque el fichero que se llame como la celda A1, y ponga el dato de la celda requerida ("C5") del excel denominado como la celda A1. Que ponga el dato al lado de A1. Y siga haciendo los mismo con todas las referencias. Termine el proceso y ya esta.

¿Alguna help?

1 Respuesta

Respuesta
2

Entra al Edtitor de macros (con atajo de teclado ALT y F11)

Inserta un módulo y allí copia este código. Para ejecutarlo hay varias opciones que las tengo explicadas en la sección Macros de mi sitio.

Sub buscaLibros()
'x Elsamatilde
Application.ScreenUpdating = False
'los archivos se encuentran en la misma carpeta
ruta = ThisWorkbook.Path & "\"
'se guarda la referencia para el copiado
Set wb1 = ActiveWorkbook.ActiveSheet
'recorre col A de la hoja activa
[A1].Select
While ActiveCell <> ""
    'fila para el guardadp
    filx = ActiveCell.Row
    archi = ActiveCell & ".xlsx"    'ajustar extensión
    On Error Resume Next
    Workbooks.Open (ruta & archi)
    If Err.Number > 0 Then
        'opcional: dejar un mensaje o un texto en col B
        MsgBox "No se encontró el libro " & archi
        GoTo sigo
    End If
    'toma el valor de C5 de la primer hoja (ajustar)
    Sheets(1).[C5].Copy Destination:=wb1.Range("B" & filx)
    'se cierra el libro sin guardar cambios y se pasa a la fila sgte
    ActiveWorkbook.Close False
sigo:
    ActiveCell.Offset(1, 0).Select
Wend
MsgBox "Fin de la captura."
End Sub

Dejo todo el código explicado para que puedas ajustar los detalles:

- Extensión de los libros salvo que en A1 se indique el nombre + la extensión.

- Se asume que el dato está en hoja1 del libro que se abre.

Sdos y no olvide valorar la respuesta (opciones: excelente o buena) si el tema queda resuelto, sino comenta.

Buenos días, 

Muchas gracias por vuestra propuesta. 

Lo que no consigo que pegue el dato de cada casilla C5 de los archivos buscados al lado de su correspondiente casilla en el libro de destino. 

La idea es hacer como un buscar del dato de la columna A:A en fichero destino... Buscar en la carpeta el fichero correlativo, y sacar el dato de C5 de dicho fichero y finalmente pegarlo al lado de cada casilla en el fichero origen columna B:B. 

Como puedo hacerlo? 

Muchas gracias x adelantado. 

Disculpad ya funciona. Error mio colocando la macro en workbook.... No worksheet. 

Muchísimas gracias

Creo que fui clara cuando mencioné :

'... Inserta un módulo y allí copia este código. Para ejecutarlo hay varias opciones que las tengo explicadas en la sección Macros de mi sitio...'

Entiendo que te hayas confundido por no leer con atención... pero también creo que la macro te resuelve una gran tarea. ¿Lo qué significa que merece algo más que solo una valoración de 'buena'... no te parece? Aún puedes modificarla.

Sdos!

Hola! Cierto... Me puse a leerlo x la madrugada y lo he aplicado a primera hora hoy hehhe culpa mía. Lo de las votaciones... Te refieres a pulgar arriba con 2 vistos? Hehhe no sabia como funcionaba, disculpa. Efectivamente es una macro fantástica con muchísimas posibilidades ahora que he podido entenderla bien y modificarla un poco para adaptarla a varias situaciones. Muchísimas gracias!!!! 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas