UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se pueden hacer consultas de Excel o VBA por mensaje privado.
Utiliza el botón buscar del foro y te ahorras tiempo para obtener "ayuda".

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

jovalcon


Buenos Días,

tengo una macro en el cual me unifica todos los libros de excel que seleccione en un libro, el problema es que si el libro contiene distintas hojas me lo unifica todo en la primera hoja, me gustaría que me lo unificara en relación a las hojas, es decir si selecciono 10 libros que contienen 5 hojas, pues que me unifique toda esa información en un libro con 5 hojas, la hoja 1 toda la información de los 10 libros, la hoja 2 toda la información de los 10 libros, así sucesivamente.

no se si sera posible, adjunto archivo con la macro que me unifica todo en un mismo libro y en una misma hoja, la macro se llama open files.

otros de los problemas que me encuentro es que no me reconoce todas las versiones de excel, ni archivos con macros, solo las del 2010, puede ser por la ext del archivo.

muchas gracias//
Archivos
Unificar_libros.zip
No tienes los permisos para descargar los archivos.
(13 KB)

2RESUELTO unificar libros el 17/06/15, 03:02 am

adolfo castro


buenos días, lo que dices a simple vista, creo que si se puede hacer, pero si fueras un poco mas explicito, con lo que realmente quieres realizar, se podría estudiar.
saludos Adolfo castro

jovalcon


Hola Adolfo.

antes de nada agradecerte tu ofrecimiento a resolver mi duda, voy a intentar ser más claro.

el archivo que adjunte anteriormente con tiene una macro, en la que consiste adjuntar todos los valores de los archivos excel que seleccionemos en un una sola hoja de un libro nuevo que crea.

Cuando un archivo excel contiene más de una hoja, me gustaría que en vez de que me lo unificarán en una sola hoja, que se unificaran los valores de los libros seleccionados en función de los valores según las hojas.

por eso puse anteriormente, que si selecciono 10 archivos excel de los cuales cada uno contiene 5 hojas, que en vez de unificarme los valores de los 10 archivos y las 5 hojas de cada uno, en un libro nuevo y en una sola hoja, que me lo unifique en un libro nuevo como hace, pero que me lo unifique por hojas, es decir la hoja 1, la unificación de todos los valores de los 10 archivos de la hoja 1, la hoja 2, todos los valores de la hoja2 de los 10 archivos, así sucesivamente.......

en la macro creada, no me reconoce todas las versiones del excel, tan solo las 2010, supongo que eso será por las ext asignada a la macro, es decir, cuando selecciono los archivos excel a unificar, no me reconocen ni excel con macro, ni versiones diferentes a la 2010.

espero Adolfo que haya sido un poco más explicito, no obstante si no me he explicado bien, intenta utilizar mi archivo anteriormente adjuntado, ejecuta la macro Open, y selecciona archivos que contentan valores en distintas hojas, comprobaras que todos los valores de todos los archivos seleccionados, te le unificaran en una solo hoja.

Muchas gracias por tu ayuda y tu amabilidad.

saludos//

4RESUELTO unificar libros el 17/06/15, 03:59 am

adolfo castro


Buenos días de nuevo, a ver si puedes adaptar este código a tus necesidades,
Archivos
unir_excel2.zip
No tienes los permisos para descargar los archivos.
(38 KB)

jovalcon


Hola Adolfo,

Muchas gracias de nuevo, te adjunto unos ejemplos en el cual creo que vas a comprender mejor lo que necesito.

En el archivo Plantilla Unificar_libro- contiene la operativa de la Macro.

Libro 1 y Libro 2, son ejemplo a los cuales vamos a utilizar para realizar el ejemplo.

si ejecutamos la macro tal y como está ahora , se te crearía un libro como el del Ejemplo unificado Libro 1 + Libro2, todos los datos en una hoja.

sin embargo el ejemplo debería estar como el ejemplo correcto, la unificación de los valores debería de hacerlo por hojas y no unificarlo en una misma hoja.

espero que con los ejemplos adjuntados te aclare un poquito más.

si te das cuenta a la hora de seleccionar archivos, no te deja escoger nada más que archivos excel con la versión officce 2010, no puedes seleccionar ni archivos que contengan macros ni versiones anteriores, nose porque, entiendo que es por las ext que le hemos puesto en la macro.

Agradecerte Adolfo toda la ayuda mostrada.

saludos//
Archivos
Archivos Unificar.zip
No tienes los permisos para descargar los archivos.
(193 KB)

6RESUELTO reunificar datos el 17/06/15, 12:29 pm

adolfo castro


Hola buenas tardes, retomo el tema, tras estudiarlo tranquilamente, me surgen varias dudas, y perdona que no te adjunte nada, pues no empiezo a trabajar hasta que no tenga las cosas muyyyy claras, y perdona, por la aptitud, pero es asi,-

en primer lugar la extensión, mi pregunta, están todos los archivos en un mismo directorio?¿

tras revisar el adjunto veo que tienen todos un mismo encabezado, lo único que cambian son los datos, pues no seria mejor importar los datos con un solo encabezado?¿

en caso de varias hojas, todas irían resumidas en las mismas que tenemos en el libro origen, pero existe posibilidad de que todas tengan las mismas hojas?¿, se resumirían en distitnas, pero siempre contienen la misma cantidad?¿

son alguna de las cosas las cuales me surgen dudas, aunque imagino alguna mas saldrá, pero esto es prioritario para mi, en cuanto me resuelvas todo esto, me pongo a trabajar, y veras que pronto se resuelve tu problema, o eso espero.

saludos Adolfo castro

jovalcon


Hola de nuevo Adolfo,

te agradezco enormemente que te hayas ofrecido ayudarme, comprendo que es un poco lioso.

Te respondo por partes:

- Cuando me refiero a extensión, es que tan solo me reconoce archivos excel con la extensión xlsx, con lo cual no podría unificar archivos que con tienen macros por que la extensión debería de ser xlsm, o archivos de versiones anteriores al paquete 2007 por tener extensión xls, me gustaría poder seleccionar cualquier archivo de excel independientemente de la extensión del archivo.

- A lo que te refieres con el encabezado, efectivamente en la mayoría de los casos van a coincidir con el mismo encabezado, con lo cual podría coger el encabezado del primer archivo, si te soy sincero me gustaría poder tener ambas posibilidades o al menos conocer como se haría, porque en algunos casos me gustaría conocer las diferentes información unificadas en un mismo archivo, que eso lo diferenciaría con el encabezado y otras directamente no me importaría tener nada más  que un solo encabezado. ( me evitaría borrar los encabezados manualmente )

- en caso de querer unificar ejemplo 5 libros, de los cuales 3 contienen 5 hojas y 2 3 hojas, pues la unificación debería quedar de la siguiente manera.

El libro creado para la unificación tendría que tener una estructura como la que te voy a indicar a continuación:

1ª hoja del libro unificado: los datos de la primera hoja de los 5 libros.

2ª hoja del libro unificado: los datos de las segunda hoja de los 5 libros.

3ª hoja del libro unificado: los datos de la tercera hoja de los 5 libros.

4ª hoja del libro unificado: los datos de la cuarta hojas de los 3 libros que contienen valores, debido a que dos de los libros tan solo contienen valores en tres de las 5 hojas.

5ª hoja del libro unificado: los datos de la quinta hoja de los 3 libros  que contienen valores, debido a que dos de los libros tan solo contienen valores en tres de las 5 hojas.

sería algo así, muchas gracias de nuevo y te agradezco muchísimo tu amabilidad.

saludos//

Igtelo


Buenas noches (días) Jovalcon / Adolfo.

Creo que con esto queda, te da el nombre del archivo y hoja del cual se copió.

Todos los archivos deben estar en una sola carpeta, el archivo de concentrado debe estar previamente preparado con los encabezados y cantidad de hojas necesarias.

En el código encuentras explicación y si tienes dudas, ejecútala paso a paso. El ejemplo lleva 5 archivos, más el concentrado.

Hablas de 5 archivos y "x" cantidad de hojas, solo adjuntaste 2 y sin la cantidad de hojas que mencionas.
Te recuerdo que debes esmerarte al hacer las consultas... 2o. Recordatorio

Saludos
Ignacio Téllez
.
Archivos
Jovalcon-Concentrar.zip
No tienes los permisos para descargar los archivos.
(71 KB)

jovalcon


Hola Ignacio muchas gracias por tu ayuda y tu amabilidad y disculpa  las molestias ocasionadas.

En mensajes anteriores cuando escribí un ejemplo de 5 hojas, no era porque el límite estuviera en 5 hojas, un libro puede tener 3 hojas y otro libro puede tener 7 hojas y puedes querer seleccionar 20 archivos, lo que intentaba explicarme anteriormente es que en función de las hojas que tuviera los libros seleccionados, se te generaran en un archivo con el máximo de hojas que contiene un archivo de entre los 20 seleccionados y que te copie los valores en las hojas según corresponda.

personalmente, creo que poder seleccionar un archivo es más operativo que tener los archivos en una misma carpeta, ejemplo, una carpeta que contiene muchos archivos excel ( cada día uno )nombradas con las fechas, si queremos unificar los archivos de la semana en curso, tenemos que crear una carpeta y copiar los archivos de la semana en curso, cuando creo que ten solo seleccionándolos te lo unifica.


la plantilla que mande en este caso el encabezado es el mismo, pero si quiero unificar otros archivos que tiene encabezado diferente tendría que copiarlo manualmente, en el archivo inicial te los copiaba automáticamente según las hojas unificadas

Muchas Gracias Igancio por tu ayuda como siempre, discúlpame por las molestias ocasionadas.


saludos//

adolfo castro


buenas tardes, jovalcon, mi gran amigo Ignacio, un placer volver a vernos por aquí después de tanto tiempo es una alegría, aunque ahora debo deciros macro Ignacio, soys una maquina, una pena la diferencia horaria, pero bueno. a lo que iba

mi gran amigo jovalcon, si observas el código, con respecto a lo que tu deseas precisa muy pocos cambios, en un principio tenias, tienes lo que es el explorador para seleccionar los archivos, lo único que has de hacer es adaptarlo a lo que tu necesitas, pues lo tenias, con respecto a las hojas y las selecciones de datos, te comento, que esta totalmente explicado en la macro,
 For w = 1 To Sheets.Count 'no importa el numero de hojas que tenga el libro
 
   Sheets(w).[A2:G7].Copy  'Ajusta rango a copiar como necesites. Que sea el rango más grande de tus hojas

por lo que veo, mas bien entiendes poco de vba, de macros, y lo que tienes es un ejemplo descargado de internet, y que no has sido capaz de adaptar a tus necesidades, por eso en un principio  en mis comentarios, te decía explica bien lo que precisas, pues de lo que creo que quiero a lo que realmente quiero, existe una diferencia, con respecto a la diferencia horaria entre Ignacio y yo, me quede en la selección de libros, y lo que es la selección de datos, una pena la calor que aturde, las niñas que no paran y el poco tiempo que disponemos, pero bueno, el ejemplo que te ha mandado Ignacio  es una maravilla, lo único que has de hacer es seleccionar los archivos con el explorador y ya esta, cambiar el rango a copiar, en vez de a2 , pones a1, y ya esta, y adaptarlo a tus necesidades, tienes todos los ingredientes lo único que precisa es saber cocinarlos adecuadamente, en caso de que precises una cosa mas personalizada y de mas desarrollo existe un apartado de creación de plantillas, en la que gente expecializada te puede confeccionar una plantilla totalmente adaptada a tus necesidades.

perdona si en algún momento te ofendo , pues no es mi intención, pero es que soy asi,

un saludo Adolfo castro

jovalcon


Hola Adolfo,

en absoluto me he sentido ofendido, quedo super agradecido por vuestra ayuda tanto la tuya como la de Ignacio, es cierto que mi nivel en vba es básico, estoy intentando aprender.

muchas gracias por todo.

saludos//

Igtelo


Que tal Sres.

Mi "Macro-Adolfo" en verdad el gusto es mío que ya estés nuevamente por acá, veo que ya están entrando más seguido y participando los demás compañeros que venimos de mundoexcel... Ya se les extraña!!!

Sobre lo del tema, que bien que se lo aclaraste a Jovalcon y si lo ejecuta por pasos podrá hacer todas las adaptaciones que quiera, pero sino leen pues no más no podrán avanzar... Ya sabes, lo mismo de siempre, mejor pregunto y que otro me lo haga. Se oye feo pero es la realidad.

Un abrazo y seguimos en contacto aunque tengamos la diferencia de horario.

Ignacio

jovalcon


Hola Adolfo, Ignacio,

de verdad que mi intención no es que nadie me haga nada, todo lo contrario mi intención es crecer mis conocimientos gracias a gente con tanta experiencia como vosotros, quizás lo que os diga os suene fácil, es totalmente lógico debido a que vosotros sois unos gran profesionales de la materia, pero mi nivel es muy bajo, trabajare para que algún día pueda llegar a ser tan bueno como el vuestro.

estoy super agradecido al foro, porque no tiene palabra que gente como vosotros os ofrezcáis a gente como yo, que el nivel de excel es muy básico.

estoy enormemente agradecido con vuestra ayuda y si en algún momento os he podido ofender, os pido mil disculpas.

saludos//

14RESUELTO para jovalcon. el 18/06/15, 05:44 pm

adolfo castro


Hola buenas noches, Jovalcon, no intento ni mucho menos ofender mucho menos intentar molestar con mis expresiones, aunque a veces se que me paso, la mayoría de los que estamos aquí, venimos de mundoexcel, yo en mi caso particular entre en el haciendo una pregunta, poco a poco me fui metiendo en este tema, y poco a poco dia a dia, voy aprendiendo, no me molesta ni mucho menos, pero si observas en cualquier macro que enviamos, por lo general intentamos  explicar los procesos, para que se sepa que se esta haciendo en cada momento, la mejor manera de aprender es hacerlo asi, ten en cuenta, y ahora entenderas porque te dije, aclara bien lo que quieres, lo que necesitas, como lo quieres, porque cualquier cambio en el diseño conlleva un tiempo en la programación, y a veces una simpleza conlleva horas de trabajo.
personalmente te aconsejo que cuando trabajes en algo asi, en primer lugar te elebores un diseño, te hagas un organigrama, y cuando desarrolles una macro, vayas marcando todos los puntos que va haciendo, en caso de fallo, siempre sabras en que y porque, no dudes en que cualquier consulta que realices, cualquier cosa que necesites, estaremos para ayudarte, estamos para eso.

un saludo Adolfo castro.

pd. la mejor manera de aprender es leer, comprender
de hecho ese mismo archivo, lo haría con un form, donde elegiría la ruta de los archivos, en un listbox insertaría los archivos, y un botón, eureka, que bonito, en fin. un abrazo

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.