Saltar al contenido

Copiar datos de varios libros en uno solo


Recommended Posts

publicado

Buenas,

acudo de nuevo en busca de ayuda a la página que me ha salvado ya en varias ocasiones, seguro que una vez más me sacáis del apuro.

Os relato lo que me propongo y no tengo ni idea de como realizar:

Tengo varias carpetas con libros como el que os adjunto, lo que necesito es una macro que me cree un libro nuevo copiando en el todas las filas a partir de la 15, necesito que copie los datos de las columnas A a la G y que en la columna H del nuevo libro me copie el contenido de la casilla A3. El mayor problema que le veo es que hago modificaciones en esos libros a menudo y lo que no necesito es que cada vez me copie los nuevos datos, sino que solo copie los que se añadieron desde la última vez que hice la importación.

Añadir que esto lo voy a hacer en Excel 2010 y 2013 aunque use libros de excel 93-2007

No tengo ni la más remota idea de como meterle mano a esto, por ello recurro a vuestra inmensa sabiduría :D

Gracias de antemano a todos.

Libro1prueba.xls

publicado

He estado haciendo mis pesquisas, con nulo éxito, por cierto, pero he logrado refinar lo que necesito, algo es algo.

Necesito un macro que copie de cada libro de una carpeta en concreto, las celdas de la hoja 1 que van desde la A15 hasta la G15 en horizontal y en vertical hasta la primera vacía que encuentre, es decir, todas las filas llenas desde la A15 hacía abajo hasta la columna G. Si la celda A15 esta vacía, ese libro se omite sin copiar nada y se pasa al siguiente.

Ademas de esto, necesito que cada vez que copie datos, en cada fila, copie en la columna H de la hoja de destino el contenido de la casilla A3 para saber de que libro proceden los datos de cada fila, ya que la casilla A3 define cada libro.

Como extra, lo que comento en el primer post, estos libros se actualizan a menudo, si es posible, lo genial sería que no copiase todo el contenido cada vez que ejecute el macro, sino solo el añadido desde la última vez que lo ejecuté. Personalmente esto me parece que debe ser imposible, pero bueno, por pedir que no quede :D

Lo fácil que resulta exponerlo y lo tremendamente complicado que me está resultando resolverlo. Llevo dos días investigando el mundillo del VBA y las macros y todavía no se ni por donde empezar.

publicado

Si lo he entendido, en el adjunto encontrarás la solución.

Al pulsar sobre el "Botón" AÑADIR AL HISTORICO se añadirán a la hoja Histórico de Materiales los archivos que haya en la hoja Menú en la columna A.

Cada vez que se procese un archivo este quedará marcado en la hoja Menú con la fecha del proceso en la columnas B y la última fila copiada en la columna C, de manera que en el siguiente proceso partiremos de la fila siguiente a la que se indique en la columna C.

Para facilitar la información que se requiere, en lo referente a los archivos a procesar, pulsa el "Botón" AÑADIR ARCHIVOS A LA LISTA, se abrirá un cuadro de dialogo de selección múltiple de archivos.

Los archivos seleccionados se añadirán a los existente en la columna A de la hoja Menú.

Las columnas B y C son datos de salida del proceso, por lo que deben dejarse en blanco la primera vez.

La primera vez que se procese un archivo se partirá de la fila 15.

Lo mejor es que pruebes, a ver que tal funciona.

Histórico de materiales.xls

publicado

Es absolutamente perfecto, justo lo que quería. Mil gracias.

Como siempre, al utilizarlo, me he dado cuenta de que habría otra función que me vendría genial, te lo explico por si te apetece complicarte la vida un poco más :P

Seria genial tener una tercera hoja llamada, por ejemplo, "Búsqueda" en la que teniendo las mismas columnas que la hoja "Histórico de Materiales" pero con una función de búsqueda que me permita filtrar los datos de la hoja "Histórico de Materiales" por fecha, proveedor o descripción, en el caso de la descripción, no con la palabra exacta, simplemente que busque coincidencias en la columna. Con esta búsqueda ya sería todo perfecto :D

De todas maneras, reitero, perfecto tu trabajo, grandiosa tu ayuda, con o sin búsqueda!!!

GRACIAS!

publicado

¿ De cuantos registros estamos hablando ?.

Es importante saberlo para aplicar un sistema de búsqueda u otro.

publicado
¿ De cuantos registros estamos hablando ?.

Es importante saberlo para aplicar un sistema de búsqueda u otro.

Supongo que lo haré por años, para no liarme mucho, al menos de entrada. Pero vamos, que cuantos más mejor.

La prueba que he hecho, con datos parciales, tenía como 1500 filas en el "Histórico de Materiales" así que fácil que lleguemos a 8000 o más.

Mil gracias!

publicado
Hay un error en el archivo. Lo vuelvo a subir en cuanto lo tenga solventado.

Lo he estado probando y es justo lo que necesito, la verdad es que no lo he probado a fondo, así que del error que comentas ninguna noticia, pero bueno, tu eres el creador, así que nadie mejor que tu debe saber eso.

Una cosa que si he visto es que, en lo poco que he testeado, me ha parecido que distinguía entre mayúsculas y minúsculas en el buscador, igual ha sido cosa mía, pero, de no ser así, y si es posible, casi sería mejor que no tuviese en cuenta las mayúsculas y minúsculas.

Voy a parar de pedir ya, que hasta me da vergüenza.

Una vez más, MIL GRACIAS!

publicado
Voy a parar de pedir ya, que hasta me da vergüenza.

No te preocupes, mientras que el tema me entretenga no hay problema.

publicado
No te preocupes, mientras que el tema me entretenga no hay problema.

Aunque te entretenga esto, mejor no abusar :D

Le acabo de echar un ojo por encima y creo que ahora está perfecto. Mañana por la mañana le hago el test definitivo y te digo como va (fijo que va perfecto, no, lo siguiente)

GRACIAS!

publicado

_____________________________________________________________________________

En ciertas condiciones el proceso entraba en un bucle sin fin ocupando el 100% de la CPU.

Cuando te pase esto, no es necesario reiniciar, Alt+Ctrl+Sub, seleccionas la aplicación en la pestaña Aplicaciones y pulsas Finalizar tarea, pero casi siempre, pulsando la tecla Escape o la tecla Petición de Sistema, y un poco de paciencia, es suficiente.

______________________________________________________________________________

Histórico de materiales + Filtro III.xls

publicado
_____________________________________________________________________________

En ciertas condiciones el proceso entraba en un bucle sin fin ocupando el 100% de la CPU.

Cuando te pase esto, no es necesario reiniciar, Alt+Ctrl+Sub, seleccionas la aplicación en la pestaña Aplicaciones y pulsas Finalizar tarea, pero casi siempre, pulsando la tecla Escape o la tecla Petición de Sistema, y un poco de paciencia, es suficiente.

______________________________________________________________________________

Llevo toda la mañana probando, ya con casi todos los datos pasados, y la cosa funciona genial. Ni cuelgues, ni datos repetidos, ni nada de nada. Un trabajo perfecto! Mil gracias! Me has hecho la vida mucho más fácil!

P.D.: para que no se diga, sigo pidiendo :D

¿Sería posible una búsqueda con campos cruzados, es decir, buscar a la vez por Proveedor y Descripción con un término para cada búsqueda?

Con esto paro. LO JURO!

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.