Macro para unir varios libros excel en una sola hoja
-->Macro para unir varios libros excel en una sola hoja: Si eres el encargado de consolidar información desde distintos libros (archivos) a una hoja de excel presta mucha atención a esta macro que puede resultar siendo tu salvación. Esta macro es muy sencilla pero cumple en su totalidad la tarea de consolidar información, cabe aclarar que solo trabaja con archivos de extensión xlsx; es decir archivos grabados en la versión de Excel 2007, 2010 y 2013; lo he probado y te lo recomiendo.
La macro consolida todas las hojas de un libro o de varios libros en una sola hoja de Excel por ejemplo si tenemos al libro A con 3 hojas y al libro B con 5, entonces se crea rá una hoja con la información de las 8 hojas en forma vertical, los libros tienen que ser de extensión .xlsx
COMO FUNCIONA
- Lo primero es descargar el archivo (al final de esta entrada pueden encontrar el enlace) y habilitar macros.
- presionamos ALT + F8 para llamar a la macro, seleccionamos «Open Files» y presionamos ejecutar.
- Elegimos los archivos a consolidar (Extensión .xlsx) y presionamos aceptar.
- Y listo, tienes todas tus hojas consolidadas en una sola.
Descargar macro para consolidar información en una sola hoja.xlsx
Fuente: Unir varios libros de excel en un solo
MUCHISIMAS GRACIAS ¡¡ VALES MIL
Hola, de nada, saludos.
Genial.. corre a la perfección, tuve un detalle se desbordó, pero entiendo que es por la cantidad de registros o archivos que estaba tratando de unir, en mi caso mas de 800 xls jejeje pero lo hice por partes..
Gracias!!
Hola, nos alegra, saludos.
Muchisimas gracias
Hola, de nada, saludos.
MIL GRACIAS POR LA MACRO UNA MARAVILLA
Hola, de nada, gracias. Saludos.
Tengo una consulta, este junta todos los xlsx, habra una version para juntar xls?
Gracias por tu trabajo, funciona muy bien.
Hola, si se puede hacer, pero no tengo lo solicitado. Este es un archivo base para que puedan hacer sus propios desarrollos. Saludos.
Hola
La macro funciona perfecta, pero se podrá modificar para que del primer archivo de los seleccionados se copie desde la fila 1 hasta donde hayan datos y después los demás archivos se copie desde la fila 2, esto para no tener el mismo encabezado varias veces tomando en consideración querer unir archivos con el mismo formato donde todos llevan encabezado, la idea es copiar el encabezado y la información del primer archivo y luego solo la información de los demás archivos.
Hola, si es posible, tomaremos en cuenta su comentario para un próximo archivo, por el momento nos encontramos en la actualización de la página. Saludos.
Muchísimas gracias por compartir, me ahorro el tiempo y el esfuerzo para unir la información. solo una consulta y un favor si podría ayudarme, ¿Dónde puedo modificar el rango para que solo copie desde la 2da fila? lo que pasa es que al ejecutar la macro me copia el encabezado de las hojas. Por favor la ayuda, le agradeceré un montón pero un montón de lo que ahora estoy agradecida.
Hola, te recomiendo leer un poco sobre visual basic para que puedas personalizar el archivo de acuerdo a tu requerimiento. Saludos.
De antemano la macro ya me ayuda lo que en un mes estuve trabajando uniendo manualmente archivos…un trabajo arduo, que ahora lo puedo hacer en segundos…muchas graciaaaaaas!!!!!!
Hola, que bueno, nos alegra mucho que le sirva. Saludos.
Puedes copiar todo primero y luego ir al menu Datos y eliminar los repetidos. De esta manera te eliminara los encabezados, dejando solamente el primero.
UNA GENIALIDAD!! MIL GRACIAS!
Hola, gracias. Saludos.
Hola buenas ttardes,
Muchas gracias por la macro. Quisiera saber que debo modificar para unir archivos con varias pestañas. Quiero que me una en cada pestaña correspondiente, se podría?
Muchas gracias
Hola, si se puede, pero no tengo algo desarrollado para lo que estas buscando, lo sentimos. Saludos.
Hola, quiero utilizar esta macro para unir libros más grandes (más de 200,000) líneas y me marca error. ¿Se puede ampliar el rango de filas?
Hola, si, se tendría que modificar los rangos y cambiar el tipo de variable. Saludos.
Muchas gracias por la ayuda
Hola, de nada, saludos.
Buenas tardes, como le podria hacer para consolidar informacion pero solo de 2 celdas especificas y en hojas diferentes, pero del mismo libro???
Hola, este archivo es un ejemplo, usted puede modificarlo a sus necesidades, saludos.
Buen día, el archivo fue enviado a su correo, saludos.
Hola que tal, muchas gracias por la info, únicamente que al correr la macro seguir el procedimiento no me funciono, intentando revisar la línea del código me arrojo que tengo un error en la siguiente línea:
AQUI ME SALIO ERROR
Hoja.Copy after:=Workbooks(A).Sheets(Workbooks(A).Sheets.Count)
Agradezco tus comentarios saludos.
Hola, escríbanos al correo [email protected] para poder ayudarlo, saludos.
Gracias, me ayudo un monton
Buen día, el archivo fue enviada a su correo, saludos.
GRACIAS¡¡¡¡, ME SALVASTE CAPO
Hola, de nada. Saludos.
Excelente! Muy buena! Muchas gracias por compartir!
Hola, gracias por su comentario, saludos.
me sale el mismo error que este
1004: Ese nombre ya fue usado. Escoja otro». Cuando clico en Depurar aparece resaltado:
Hoja.Copy after:=Workbooks(A).Sheets(Workbooks(A).Sheets.Count)
Hola, el error es porque efectivamente los libros tienen el mismo nombre, cámbiele el nombre a uno y listo. Saludos.
se ejecuta el marco y sale un error el nombre ya existe haga click para usar esta version del nomre
Hola, tiene que cambiarle el nombre a sus hojas, saludos.
Hola, súper práctico tu código. ¿Sabes cómo podría hacer esto, pero copiando un rango diferente de filas de cada hoja?
La idea es que todo se junte en una sola, como en tu ejemplo.
Hola, estoy apuntando todas las modificaciones que ustedes quieren para la creación de nuevos artículos, ahí estaré agregando lo que indica. Saludos.
HAZ PODIDO CONSEGUIR LA MACRO PARA CONSOLIDAR» Excel juntado (A1+A2+A3,B1+B2+B3,C1+C2+C3)» ?
Hola, se tendría que modificar la macro, pero no lo tengo así hecho de esa forma. Saludos.
Gracias!!
Hola, gracias por su comentario, saludos.
Hola la ejecuto para unificar 30 archivo pero sal un error 1004 , error en el medoto statusbar???
Hola, quizás tiene hojas ocultas. Saludos.
Buenas noches, los libros qie trato de unificar llevan hojas en estado veryhidden, hay forma de colocarlos en sheetvisible y luego realizar la unificacion?
Debes entrar a visual Básico y editar la línea de códigos para que puedas mostrar todas las hojas. Saludos.
Gracias funciona perfecto en versión 2016
lo que pasa que cuando une todo no sale todo completo solo sale una parte como algo que me salga completo
Excelente!! justo lo que necesitaba.
(Y)
Excelente aporte….era exactamente lo que requería.
Gracias por tu aporte!!!
Desde México.
Estimado, tendrás una macro que consolide los archivos en formato txt del PLE – SUNAT de diferentes meses en un solo archivo?
Buenas ,
Funciona perfecto , indicar que soy un negado para el visual y me ha ayudado mucho esta macro , pero tengo una consulta no se que debo de modificar en la macro para que me copie en el nuevo libro en distintas pestañas los libros que he marcado de origen
Gracias
Un saludo
Arka, entiendo que cada persona tiene diferentes requerimiento, este archivo solo es una ayuda general, ya las modificaciones debe ser hecha por ustedes.
solo reemplaza este codigo
Sub Unir_Hojas()
Dim Sig As Byte, Eliminar As Boolean
For Sig = 0 To Worksheets.Count
Worksheets(Sig).UsedRange.Copy _
Worksheets(1).Range(«a1000000»).End(xlUp).Offset(1)
Next
Hola y excelente macro, pero necesito saber si utilizando esta misma macro, al unir los datos de cada libro en una columna se pueda ir agregando el nombre del archivo de donde se importaron los datos?
Gracias de antemano por la atención
Buenas tardes. lo que necesito es mas bien lo contrario, es decir tengo un libro en excel con 60000 registros y quiero dividirlo en 32 libros cada uno de ellos con la cantidad correspondiente para repartir esos 60000 registros. Sería excelente si me pudiera ayudar con alguna sugerencia de cómo hacerlo. Desde ya les agradezco.
saludos.
disculpa me dice que hay un error en tiempo de ejecucion, error en el metodo open de objeto workbooks… por que sale eso
Jose hay que revisar la versión de tu excel o simplemente cerrar y volver a entrar al archivo.
Excelente, muy util y fácil de utilizar la macro
Buen día, antes no tenía problemas con la macro, ahora tengo el siguiente erro «Error 1004: Ese nombre ya fue usado. Escoja otro». Cuando clico en Depurar aparece resaltado:
Hoja.Copy after:=Workbooks(A).Sheets(Workbooks(A).Sheets.Count)
Agradecería mucho tu ayuda.
Saludos.
Ya debe de haber una hoja creada con el mismo nombre, por eso es el problema.
Muchisimas gracias, funciona a la perfeccion. Me has ahorrado varias horas, si algun dia nos conocemos te denbo un par de cervezas o un par de cafes, lo que mas te gustes. Gracias.
Muy bien, me facilitó la vida tu trabajo 🙂
Hola,
COmo puedo editar el codigo para que solo tome en cuenta la primera hoja de cada archivo?
Saludos,
haré una versión nueva dando opción para eso. Dame un par de semanas.
GRACIAS POR TODA TU AYUDA, ME SIRVIÓ MUCHO
hola habrá una macro con la que puedas pasara varios archivos exel en varias hojas exel de forma ordenada.
te agradezco por tu respuesta de antemano
graciass
Willian, te sugiero estudiar el código e intentar hacer modificaciones para la finalidad que necesitas.
Intenta con esta pagina: http://analisisydecision.es/trucos-excel-unir-todos-los-excel-en-uno-version-muy-mejorada/
hola, está muy buena tu macro, yo la ajusté para que hiciera otras acciones adicionales pero quisiera que adicional a que une las hojas de excel muestre donde comienzan y donde terminan agregando el nombre del archivo, esto es posible? de ser así, podrías ayudarme
Liliana, no puedo hacer modificaciones por cada archivo que comparto ya que todos necesitan diferentes casuísticas, de poder se puede, podrias añadir en la macro que lo pinte de un color diferente o insertar una linea que indique el inicio del nuevo libro pegado.
Muchas gracias, me fue de mucha utilidad. Funciona muy bien
Un saludo cordial, una excelente aportación funciona perfectamente.
EXCELENTE GRACIAS MUCHAS GRACIA
Es una excelente herramienta. Mil gracias
Hola, me sirve mucho u macro,pero me falta algo mas… me puedes ayudar a guardar la hoja de los dato consolidados en una hoja de un archivo ya existente?
Hola, lo tendré en cuenta para una próxima actualización de la macro, saludos.
Hola, excelente tu aporte, creo que a todos nos has ahorrado un montón de tiempo en el trabajo. Sólo una duda, de inicio la macro me devolvía este error «Se ha producido el error ‘1004’ en el tiempo de ejecución: No se puede cambiar parte de una celda combinada». Hice la prueba descombinando las celdas en dos libros y corrió de maravilla. Mi duda es: ¿cómo se podría hacer para que la misma macro ya haga también ese paso de descombinar las celdas de los libros que se están uniendo?, ya que en la prueba que hice se trataba de dos libros únicamente, pero en la práctica lo que necesito es unir más de 50 libros y abrirlos uno por uno para ir descombinando las celdas sería otro cuello de botella en el proceso. De antemano te agradezco por tu gran ayuda.
Hola Luis, aún no tenemos una macro para descombinar celdas, sin embargo es una buena sugerencia y próximamente la desarrollaremos, estate atento, saludos.
Gracias por tu compartir, es de gran ayuda en nuestro trabajo como profesionales.
Fuerte abrazo amigo.
Muy muy bueno, habia estado batallando para lograr esto, me salvaste !!
excelente macro. gracias por compartir!
Hola, la macro funcionaba correctamente, pero no se que paso en mi y se detiene en el primer código
X = Application.GetOpenFilename _
(«Excel Files (*.xlsx), *.xlsx», 2, «Abrir archivos», , True)
y cierra la aplicación, Que podría estar sucediendo?
Saludos
Y en otros computadores me funciona correctamente, y tienen la misma version 2016
Utiliza *.xl* para que se pueda abrir cualquier tipo de archivo xl
Gracias por su comentario.
tambien se puede con macro? por que solo he podido con libros normales , y lo que hago borro las hojas sin datos
Hola, para trabajar con archivos con macro, es necesario que las macros estén habilitadas por defecto. Saludos.
Oscar quizas estas combinando archivos de diferente versión de Excel.
excelente amigo.. me salvaste el dia.. (y) saludos desde chiapas
buenos días!!!!
Cuando quiero utilizar la macro me esta generando este error!!!
se ha producido un error 1004 en tiempo de ejecucion
«este nombre ya esta ocupado, pruebe con uno distinto»
Al darle al botón DEPURAR me lleva hasta esta linea de código.
Muchas gracias.
Ese error sucede cuando hay hojas con el mismo nombre en diferente libros.
Queria uno que copie segun le nombre de cada hoja…ose mis archivos tiene hoja A , B , C y quieron se una en un solo archive y mantenga la clasificacion A,B y C pero juntando tos los datos recolectados de los archivos excel
Excel 1 (A,1B1,C1)
Excel2 (A2,B2,C2)
Excel 3 (A3,B3,C3)
Excel juntado (A1+A2+A3,B1+B2+B3,C1+C2+C3)
José, se debe reestructurar la macro para lo que necesitas, por el momento no podría hacerlo.
Hola.: A ver si me podéis ayudar y formulo bien la pregunta. De antemano gracias.
Estoy totalmente pez en el tema de Excel, me manejo a nivel muy básico. Y tengo un gran problema.
Tengo varios libros de Excel que necesito unificar en una sola hoja. Los ficheros son distintos. Me interesa unificar y extraer información:
En este caso estamos hablando de Fibras Ópticas. Por un lado a nivel de Cable. Tengo que saber a través de todos estos ficheros cuantos cables existes, cuantas fibras, el importe correspondiente de las mismas. Todo está en diferente fichero y necesito unir dicha información y que me busque la misma. Ya que manualmente se lleva mucho tiempo y es necesario URGENTE y tratar de unificar de forma automática dicha información. Después de extraer todo solamente pueda chequear o puntear lo faltante cumplimentado lo necesario. En los distintos ficheros con formatos distintos. Los nombres a nivel de cable y fibra son iguales. Que tengo que hacer para lograr este trabajo.
Escríbeme por correo a [email protected] podría referenciarte a un compañero para que te cotice la elaboración de esa macro.
mira probe tus codigos y no me funcionaron, me depuro en esta linea:
Hoja.Copy after:=Workbooks(A).Sheets(Workbooks(A).Sheets.Count)
necesito respuesta a esto ya q no se como relacionarlos gracias
Hola, que extensión tiene el archivo que deseas unir.
Eres un genio, muchas gracias por ayudarnos. tengo una pregunta: tengo varios archivos de excel para unir, pero cada archivo tiene varias hojas y solo necesito que me traiga la información de una hoja especifica de todos los archivos.
Mil gracias por tus aportes!!! felicidades
Hola Harold, gracias por las palabras. Por el momento no tenemos alguna macro que realice lo que indicas, intentaremos hacerla y de ser positivo lo estaremos publicando. Saludos
Gracias 🙂 Muy útil el archivo, sobretodo a las 8pm en la oficina y por mucho por consolidar
Seria fenomenal tener este macro para MAC…
Si, lamentablemente por el momento no es posible.
Buenas tardes y muchas gracias por esta página.
Quisiera saber si puede hacerse una macro en la que pueda combinar cientos de planillas excel, pero como superan le límite de xlsx, que puedan generarse CSV o TXT, para luego importarlos a mi base de datos.
Agradezco mucho sus repuestas!
Saludos,
Marcelo
Marcelo todo se puede hacer, pero lleva tiempo y dedicación, por ahora no podría ayudarte.
Excelente, funciona muy bien, me saco de apuro ahorrándome mas´3 horas de trabajo, muy buena ayuda
Excelente, funciona muy bien, me saco de apuro ahorrándome +-3 horas de trabajo
Muchas gracias por el aporte, no se si se podía , pero me tomé la libertad de modificar la linea en donde pedía archivos .xlsx por .ods , cabe recalcar que no soy experto en programación en Visual Basic pero me defiendo un poco y pude acomodarlo de acuerdo a mis necesidades, de todas formas muchas gracias.
Gracias Hugo, los archivos estan ahi para que sean modificados al tipo de extensión que necesitan.
Interesante esta macro.
buenas tardes, tendrás una macro para unir CSV. o una manera rápida de convertir de CSV a XlXS
gracias.
saludos.
Hola Juan Carlos, por el momento no tenemos una macro así, pero tendré en cuenta tu comentario y mas adelante lo haré. Saludos
Hola, excelente trabajo! una consulta, hice una modificación para que haga lo mismo con archivos tipo html con tablas tabuladas, pero no logro que lea más de 200 al mismo tiempo porque me da error de desbordamiento! habrá alguna manera de ampliar su capacidad?
En que linea te marca error, revisa la variable y mira como que esta declarado, quizás sea solo cuestión de cambiar el tipo de variable.
Hola !! Buen día. Tengo una cuestión y no se si lo hayan resuelto en alguno de sus artículos. tengo varios libros de excel que son de mis pacientes, llevo 100 libros, cada uno tiene como 5 hojas. Lo que hago es tenerlos en una carpeta de windows y buscar el registro de cada paciente para abrirlo. Quisiera saber si hay una interface para crear una base y abrir cada uno uno de ellos desde esa interface para que se vea mas profesional y no tener una carpeta tan grande de windows.
Gracias !!
Diego, no tengo algún archivo que haga lo que me indicas, pero voy a tenerlo en cuenta.
Gracias!!! me ahorraste mucho tiempo!
Gracias por visitarnos, comparte la información con tus colegas, les servirá mucho. Saludos
Buenas tardes Funciono perfecto, pensé que uniría varios libros en uno solo pero agrupo todos los libros en solo una hoja. es posible que agrupe los libros en un solo archivo separado por hojas?
gracias 🙂
Carlos, tomaré en cuenta tu sugerencia para crear otra macro.
Muy buena herramienta, nos ahorras un montón de tiempo con ella.
Quiero hacer una macro que recorra entre 1000 y 2000 planillas excel, y dentro de cada una, diferentes hojas y rangos, la pregunta es, soporta abrir tantos libros o planillas la macro, o tiene algún limitante?, o hay que ir haciendo una a una?
Todo depende de las características de tu pc, mucho depende de la memoria, pero con las computadoras modernas de ahora no creo que tengas problemas.
He usado la macro por mas de un año y me ha ayudado mucho en el trabajo. Felicitaciones y gracias al desarrollador. Solo quisiera saber si te sería posible agregar la opción para trabajar con archivos xls y xlsx, ya que me envían archivos en ambas extensiones y debo abrir y ‘guardar como’ cada archivo en xls.
Saludos!!
Hola Rene, voy a tener en cuenta la sugerencia y próximamente se publicará una actualización, Saludos
Hola,
tengo los archivos en xlsx pero me da un erro 1004. Uso un machintosh, es posible sea eso?
Me pone error 1004 en tiempo de ejecucion:
«Fallo en el metodo «GetOpenFilename» de objeto «-_Application»
las hojas tienen distito nombre y los archivos tambien.
Gracias por vuestro tiempo
Jaime
Solo es para windows.
Hola! Me sale un error:
«Se ha producido el error ‘1004’ en tiempo de ejecución:
Excel no puede insertar las hojas en el libro de destino porque éste contiene menos filas y columnas que el libro de origen. Para mover o copiar los datos al libro de destino, seleccione los datos y, a continuación, utilizar los comandos copias y pegas para insertarlos en las hojas de otro libro»
He probado con un par de libros, cuidando que tuvieran las mismas filas y columnas y me sigue arrojando el error :/
Javier, cambia el formato de tus archivos a 2003/2007, si tus archivos terminan en la extensión xlsx o xmls entoncen tienen más de 1 millon de filas vs las 65536 filas de la versión 2003/2007
Me has salvado la vida con esta macro. Muchísimas gracias!!
Podría modificarse indicando una ruta determinada que consolide todos los ficheros de una carpeta.? En mi caso tengo una carpeta por año con su carpetas por meses teniendo que unir cada vez los todos los ficheros de cada mes. Me funciona perfectamente pero mejoraría si uniese los ficheros del mes correspondiente sin tener que marcarlos. Gracias
José el archivo es un modelo, un ejemplo para poder modificarlo de acuerdo a nuestros requerimientos.
Hola, despues de cobnsolidar todas las hojas como puedo agregar a cada fila el nombre del archivo al que corresponden ?
Estoy tomando en cuenta todas sus sugerencias para modificar el archivo. Dame unas semanas para revisarlo.
aun no tienes la macro que al consolidar le agregue a cada fila el nombre correspondiente de cada archivo
Hola, no estimado, lo sentimos. Saludos.
Me ha saltado el mensaje: Se ha producido el error ‘6’ en tiempo de ejecución. Desbordamiento. Eran 600 planillas pequeñas con 2 hojas. Tiene solución?
Estoy tomando en cuenta todas sus sugerencias para modificar el archivo. Dame unas semanas para revisarlo.
Hay alguna forma para hacerlo con archivos de terminación xls?
ya encontré la respuesta y funcionó!
Puedes modificar la macro en la parte del visor de archivos.
Es posible colocar la información de manera horizontal en lugar que se pegue de manera vertical?
Marco si es posible pero implica, modificar la macro, te sugiero revisar un poco sobre visual basic e intentar adaptarlo a lo que necesitas.
seria fantástico, creería que seria mas útil si pasara la información de manera horizontal, no nos pueden colaborar.
Gracias
Estoy tomando en cuenta todas sus sugerencias para modificar el archivo. Dame unas semanas para revisarlo.
ERROR
SE HA PRODUCIDO EL ERROR 9 EN TIEMPO DE EJECUCION
SUB INDICE FUERA DEL INTERVALO.
COMO SOLUCIONAR ESTE PROBLEMA?
SALUDOS
Roberto quizás tengas libros que tienen hojas con el mismo nombre en los diferentes libros.
Buenos dias,
Tengo varios libros con hojas con el mismo nombre y me da muchísimo trabajo tener que alterar los nombres de cada libro.
Cómo puedo modificar la macro para que una todos los libros, independientemente del nombre que éstos tengan?
Muchas gracias de antemano,
Jorge González.
Jorge, tienes cambiar los nombres de cada archivo si es que son iguales, no se me ocurre alguna otra forma.
Me acabas de ahorrar horas de trabajo!!
Muchas gracias funciona perfecto»
SALUDOS»
hola ocupo una macro que copie 5 columnas de 4 tabs (usuario 1, usuario 2, usuario 3, usuario 4) de un mismo worksheet y las copie otro tab adicional en el mismo tab (data). Si me pudieran ayudar con esto ?
Mauricio lamentablemente no puedo hacer desarrollos por cada usuario, aqui la macro es un ejemplo, tu reto es adaptarlo a lo que necesitas.
Parece ser que mi computador solo guarda en 97 -2003 pero los guarde con la extension del «libro de excel» y tampoco me sale un error, auxilio.
Confirmado que es la extensión.
Solo me unió como 5 hojas y necesito unificar muchas mas de 20 hojas en una sola hoja 🙁 que hago
Revisa que todos los archivos excel tengan la misma extensión.
Hola me sirve la macro, pero es posible solamente seleccionar algunos campos especificos?
Si es posible, en la parte final del artículo esta la fuente.
Es posible que al consolidar los documentos en vez de que queden acomodados de forma vertical, esto sea de forma horizontal?
Si es posible, en la parte final del artículo esta la fuente.
Hola….
Como puedo insertar datos de varios archivos de block de notas a una sola hoja en Excel?
Alejandro esto ya es una consulta que difiere del artículo. Pero si puedes hacer lo que necesitas, revisa esto: http://forum.chandoo.org/threads/macro-to-paste-the-data-from-notepad-to-excel.16177/
Hola..
Cuando pongo a correr la macro me sale error de automatización.. que sera?
Probablemente incopatibilidad, que versión de excel y que windows tienes.
Hola, tengo una consulta con respecto a las herramientas que Excel proporciona.
Quisiera saber cómo puedo vincular o unir dos archivos de excel ambos con regitros de datos diarios por hoja. De modo que cada archivo o libro corresponde a un mes.
Entonces si requiero buscar informacion y desconozco en que mes (o archivo está), podría buscar en alguno general que los tenga vinculados en todos los archivos del año, para simplificar la tarea de buscar mes a mes en el buscador de cada libro.
Le agradecería su amable respuesta.
Cordial Saludo.
Carol
Te voy a dar una idea, podrías trabajar con conexiones ADO que consiste en ingresar a un archivo excel sin tener que abrirlo.
Muy útil! sirvió perfecto! Muchas gracias 🙂
Buen dia,
Muchas gracias, me a servido bastente,
feliz dia.
Estimado:
Existe alguna forma de eliminar la fila A1 y A2, donde van los titulos de cada columna, ya que quedan entremedio al consolidar todo los archivos .
que código podría sumar para que la macro hiciera esto?
rows(«1:2»).delete puedes agregar para hacer lo que necesitas.
Hola soy nuevo en este tema y quisiera saber donde coloco la linea de codigo para eliminar las filas
Por favor revisa el artículo original en la fuente.
Estoy intentando ejecutar la macro, pero tengo dos problemas: por un lado la primera fila de las hojas que quiero unir son iguales y sólo quiero que aparezca en la fila 1. Y por otro lado las columnas 1 y 2 tienen vinculos. Como puedo unirlas utilizando la macro?
Muchas gracias
Yoly
Yoli para tu caso se tendría que reestructurar el archivo, lo siento no podrá ser posible.
hola, esta macro funciona perfecto, solo que si uno de los archivos tiene filtros aplicados no copia la información completa de dicho archivo o de los que estén filtrados, podrías ayudarme?
de antemano gracias
Harold, esta es una macro básica, en tal caso quitale el filtro a todos tus libros antes de correr la macro.
Estimado
La macro esta genial !
Como se podría agregar una fila vacia antes de copiar cada hoja.
Puede ser antes o despues, pero la idea es que haya una linea entrega cada hoja
Quedo atento
Saludos!!
una linea entre* cada hoja copiada
Lo mas fácil sería que tus libros tengan esa fila en vacío antes de empezar a consolidar.
Estimado, necesito generar, a partir de dos archivos, con campos comunes, un solo archivo , como campo común, tengo un identificador de una linea (en mi caso una factura, en ambos archivos), y poder adicionar a uno de los archivos, una celada inexistente en el otro archivo, la información es interés de mora, presente en uno de los archivos, y necesito consolidar lo en el otro, que tengo un listado de facturas sin la información de interés de mora, por favor,
atte.,
Diego Arias
Diego eso sería mas personalizado, el archivo es para ámbito general.
Gracias por el aporte!. Al principio aparecìa error pero era por el nombre largo.
Saludos 🙂
Hola,
Muy buen aporte, muchas gracias, pero quisiera saber lo siguiente, tengo 200 archivos que necesito consolidar en uno solo libro pero en diferentes hojas, (una hoja por cada archivo), es posible hacerlo?
Porque lo que hasta ahora hago es abrir cada archivo, copiar la hoja e ir pegando una a una en un nuevo libro, es tedioso y me toma bastante tiempo.
Espero que puedas ayudarme.
Saludos,
Rosa Flores.
Este archivo es para unir toda la información en un libro pero solo en una hoja.
hola buenos dias, yo tengo que hacer un reporte que me arroje el consumo de combustible de varios vehiculos y los fletes que han hecho en el dia, como lo podria realizar, llevo el control de carga de combustible de los vehiculos pero de los fletes no tengo nada. seria realizar una hoja de excel con los fletes y relacionar las hojas en una tercera donde me de el flete y el comsumo del vehiculo
Juan, me parece que tu consulta no va aqúi, te recomiendo enviar alguna consulta al correo de la web.
Hola.
sigue los pasos de la Macro pero solo me trae las 1ras 2 lineas de los libro que subo, tengo alrededor de 16 lineas por libro como puedo hacer?
gracias
Puedes probar con otros archivos para verificar que todo este funcionando sin problemas, quizás solo sean tus archivos,
¡¡¡Excelente!!!…. ¡¡¡¡Gracias!!!!
Hola soy de brazil y su macro estas trabajando muy bien pero yo necesitaba eliminar la linea que llama la 2° macro, así trabajou perfectament.
Descurpe por mí mal spañol y gracias por su macro!
Gracias Lucas por escribir.
Buenas tardes
¿Hay alguna forma de hacer una macro que de 10 hojas activas que tiene el libro, unifique en una sola 8 por ejemplo?
¿Cómo puedo hacer para que me respete el diseño de la hoja?
Gracias
todo se puede hacer sin embargo en este artículo se trata de un archivo general.
Funcionó a la perfección pegando 82 libros de una hoja con promedio de 700 registros… Excelente,gracias. …
Hola buen día,
me sirvió mucho, pero tengo una duda, quisiera saber si se puede consolidar la información de ciertas celdas y filas, ya que tengo un formato que llenan aproximadamente 100 personas, lo que implican 100 archivos, pero solo requiero 3 campos de información.
Se podría hacer?
Gracias
Laura eso necesitaría de programar a detalle, en este archivo solo es para consolidar todas las hojas.
hola, gracias por la macro, me podrias ayudar en unas inquietudes?,
hasta cuantos libros puedo unir de 1 hoja
podria no crear un libro nuevo sino desde el mismo libro donde esta la macro??
Julian creo que 100 hojas las consolidarías sin problemas, mas de esa cantidad ya dependerá del procesador de tu pc.
Eyyy Muchisimas gracias por el aporte…me salvo al vida hoy jeje….
Amigo donde están los archivos para bajar las macros????. necesito unir en una sola hoja de excel, 10 hojas mas, todas contienen los mismos campos
Casi al final del artículo está el enlace desde donde puedes descargar el archivo.
Muchas Gracias!!
Muy bueno y util gracias
Hola estimado,
Talvez puedas ayudarme, he seguido los pasos pero me muestra el siguiente error:
Se ha producido un error ‘1004’ en tiempo de ejecución:
Error en el método Copy de la clase de Worksheet.
En VBA me aparece en amarillo este texto,
Hoja.Copy after:=Workbooks(A).Sheets(Workbooks(A).Sheets.Count)
Que debo hace en ese caso?
Marcos cuantas hojas quieres copiar, quizás sea la cantidad. También sería bueno saber que versión de excel utilizas.
Hola Gustavo,
He corrido la macro y me sale error en:
Hoja.Copy after:=Workbooks(A).Sheets(Workbooks(A).Sheets.Count)
solo me esta cogiendo 10 archivos, en el 11 me sale el error.
Tengo versión office 2010.
que puedo hacer.?
Favor tu apoyo
gracias.
Verifica que no se repitan los nombres de la hojas.
buenas tardes, disculpa tiene limitante la macro para una cierta cantidad de libros para unir?
Yo creo que sin problemas podrías unir unos 100 libros, dependerá mucho del procesador de tu computadora.
Buenas tarde, muy genial la macro pero tengo un problema ya que tengo 8 archivos pero con mas de 5 mi l datos y solo une hasta la celda 5260 hay una forma de expandir la cantidad de datos en la misma hoja
saludos
verifica que tus 8 archivos tenga información en la culumna «A», ES DECIR debes tener información o colocalo en A8000 en cada libro, de esta forma te aseguras que cuando tome la información coja ese rango de celdas.
Amigos buenas tardes yo tenia el mismo problema y lo que pasa es que la macro renombra las hojas de calculo antes de consolidarlas y cuando una hoja de calculo tiene mas de xx caracteres simplemente no puede renombrarlo y se planta, para solucionar esto lo que hago es renombrar las hoajs con un nombre corto por ejemplo 001 y alli funciona bien
Saludos
Hola, Buena Macro.
Tengo un problema referenciado a este tema, me gustaría concentrar la información de varios libros en uno solo. El problema, es que no guardo los libros ya que hago promedio 50 consultas diarias de un sistema que me extrae la información en Excel.
Como podría concentrar la información de todos estos libros abiertos (Sin guardar) en uno solo, con una macro?
Por favor, Ayuda…
Tendrías que trabajar con la función de activeworkbooks o hacer una macro que te guarde todos estos libros.
Hola, Mil gracias por el aporte ! me han salvado la vida. Quisiera saber si alguien me puede ayudar con algo adicional.
Los archivos que consolide no tienen la fecha de creación, pero si esta en el consecutivo del nombre del archivo, ejemplo:
Nombre del archivo: RM_107214052015.xls
es posible que al consolidarlo aparezca en la columna ultima columna este nombre para después separarlo ?.
Mil gracias por su ayuda.
Claro, por ejemplo podrias hacer que en Z1 aparezca el nombre de la hoja, la rutina sería algo así: Range(«z1»).value=activesheet.name
Gustavo Mil gracias !!
Si quiero agregar el nombre de cada hoja al momento de que se consolide, la instrucción de que le coloque el nombre dónde la debo de colocar?
Angie el tema es de que si hay nombres repetido te va a generar error y para evitar esto tendriamos que modificar con varias instrucciones las macros.
Le agradezco enormemente que me responda. No hay nombres repetidos en ninguna hoja, cada una tiene un nombre único pero el contenido es idéntico. Sólo los distingue por el nombre de la hoja. ¿En qué parte debo colocar la instrucción para que identifique cada hoja consolidada y pueda saber qué información es de cada hoja cuando esté consolidada?
Angie un poco complicado explicarte y desarrollarlo, lee la macro por favor.
Gracias!!! me sirvio MUCHO, solo tuve que editar el formato de los archivos que buscaba. en vez de .xlsx a .xls. Muy buen trabajo
efectivamente, el archivo esta planteado para archivos xls.
muy buena macro pero se podría pegar solo los valores ?ya que tengo formulas en los archivos y no las necesito solo los valores,gracias:)
En la macro al momento de pegar la información deberías agregar la instrucción para que solo pegue valores.
Hola Gustavo,
Increible tu macro! Gracias, podrías decirme cual es la instrucción de pegar como valores y en que lugar de la macro he de añadirla? Soy muy muy nueva en esto..
Gracias!
Revisa donde dice «copy» y «paste»
Hola, pregunta: como puedo hacer para que solo me copie una pestaña llamada «SABANA» que esta en cada uno de los libros y ademas que solo me copie en TEXTO ?… Gracias…
Tu consulta sería por un archivo mas personalizado. Este es para copiar y pegar libros en general.
Muchas Gracias, tenia varios libros que necesitaba unificar muy útil la macro .
Excelente macro, muy útil.
No obstante, en mi caso daba un error en un libro con 900 hojas. Tuve que modificar que la macro para que en vez de un byte usara un integer a la hora de recorrer las hojas.
si correcto, esta programado hasta para 24 hojas pero al declararlo como integer podrías tener capacidad hasta mas de 3 mil hojas.
y como hago para que solo coja la primera hoja y no todas las hojas de los libros de excel ?
Tendrías que reprogramar la macro. Por ahora no podría modificarlo.
Se agradece el buen trabajo realizado al crear este macro, sirve a la perfeccion y lo recomiendo a todos, felicitaciones.
cuando corro la macro me genera error «1004» Este nombre ya esta ocupado. Pruebe con uno destino.
la macro crea un libro nuevo, donde crea las hojas a unir y las cuenta, cuando llega a la hoja 10 genera el error.
mil gracias por su ayuda
Hola, Muchas Gracias!!! Me salvaste de unir 30 hojas. =)
Muchas gracias maestro!!
Me salvaste de unir 8 hojas de 60000 registros!!!
MILLON DE GRACIAS!!!
Hola Baje el archivo pero, al momento de correr la macro me manda un error, ¿Qué puede ser?, sobrenado de amarillo la siguiente linea: Hoja.Copy after:=Workbooks(A).Sheets(Workbooks(A).Sheets.Count)
For y = LBound(X) To UBound(X)
Application.StatusBar = «Importando Archivos: » & X(y)
Workbooks.Open X(y)
b = ActiveWorkbook.Name
For Each Hoja In ActiveWorkbook.Sheets
Hoja.Copy after:=Workbooks(A).Sheets(Workbooks(A).Sheets.Count)
intenta con mas libros.
ya lo intente y no funciona
porfis ayuda
GRACIAS!
Me ayudaste bastante en mi trabajo con este macro!
De verdad te agradezco bastante!
gracias a ti saldré de trabajar temprano 😉
Que genial aporte!
Hola excelente aporte, tengo un problema quiero pegar tablas a la misma distancia una de la otra, el macro las pega con diferentes celdas de distancia, cómo puedo arreglar esto.
Muchas gracias
FABULOSO Y SUPER FACIL!!!
Gracias
Muchas gracias por la Macro
Excelente Macro.
Las hojas de los libros que quiero añadir tienen en la fila A las cabeceras de los campos, ¿como puedo hacer para que no lea la fila A?. Gracias.
Saludos.
Excelente macro , me ha servido mucho para mi trabajo diario, una sola consulta , en el archivo original tengo 3 columnas de fechas de esta manera 05/01/2015 ( dia , mes , año) al ejecutar la macro me quedan de la sgte manera 01/05/2015 me cambia el dia por el mes , he notado que solo realiza este cambio a las fechas que tienen dia de 0 a 9, ya le agregue una linea donde mantenga el formato ( DD,MM,YYYY) pero sigue igual. si me puedes ayudar te lo agradezco.
Woooow, buenísima macro!!! Muchisimas gracias!!!
hola es un buen macros…bueno este macros es lo mas parecido a la solución que estoy buscando por que une los datos de varios libros en una sola hoja pero para esto tienen que estar todos los excel en 1 solo archivo pero yo necesito hacer lo mismo pero con libros que están en archivos distintos…podrías ayudarme con eso?…de antemano gracias
Quisiera saber como hago que cada hoja que pegue agregue una columna para conservar el nombre del archivo original, de donde vino la información
se tendría que modificar la macro, lo chequearé en unos días espero te pueda ayudar.
La macro está muy buena si embargo necesito ayuda para que está consolide hojas específicas y no todo lo que contenga cada libro, esto se puede hacer?
Muchas gracias!! Una ayuda genial y me ahorra mucho tiempo!
Ha funcionado a la primera y sin ningún problema.
Me dice que Excel no puede insertar las hojas en el libro de destino porque éste contiene menos filas y columnas que el libro de origen… el libro que abre tiene menos filas y columnas.. no se como corregir eso.
Si abre el archivo nuevo pero truena porque el archivo nuevo no tiene la misma cantidad de columnas y filas que los otros archivos.
quizás tienes un libro guardado en una versión de excel con mas filas.
Buenas amigo, como modificaria el codigo para que acepte archivos de excel .xls sin el .xlsx
Gracias
coloca un * en el campo debusqueda y te apareceran los archivos xls
Acabo de encontrarme con el mismo problema y lo que he hecho es editar la macro y modificar una línea del código:
Editar macro y modificar las extensiones.Estas son las correctas:
(«Excel Files (*.xls), *.xlsx», 2, «Abrir archivos», , True)
Qué bien funciona. Muchas gracias
Excelente Macro,
Me corrio bien a la primera, con unos excel de 117 libros.
cuando quise unir otros 121 que tenia me salio un error 1004 que no se puede nombrar una hoja como otra hoja, como una biblioteca de objetos de referencia o como un libro al que hace referencia Visual Basic.
Ayúdame que estaba muy bien al comienzo.
se esta duplicando por algún lado el nombre de la hoja, lo que crea conflicto.
la macro es estupenda, si los libros contienen distintas hojas, como se podría hacer para que se unifique los valores según las hojas de los libros seleccionados.
gracias//
Muy Buena
Muy util, Muchas gracias.
[email protected],
Excelente macro, gracias por el aporte, le queria molestar si no seria posible que esta macro funcione para compliar arhivos KML.
Saludos,
Daniel Carranza
Excelente aporte, gracias.
Me funciono a la perfección.
Saludos
ME GUSTARIA CONOCER ESA MACRO
Hola! Quisiera saber, si esta macro abre libros con macro? Esto es posible?
Tengo 4 archivos que necesito unir.
Muchas gracias
la macro toma la información externa del archivo.
Esta macro es muy buena, pero quisiera saber como haria si no me quiero traer todas las hojas de los archivos a consolidar, si no una en especifico de cada archivo
nota: la hoja que quiero consolidar tiene el mismo nombre en los diferentes archivos
muchas gracias espero tu respuesta
Buenas tardes Amigo!!!
Quisiera que puedieras Ayudarme, revisando tu Macro me parece interesante, sin embargo quisiera comparar dos libros y generar diferencias en otro, para tal proyecto puedo utilizar tu macro y unificar los libros, puede que me ayude sin embargo quisiera delos tres libros el ultimo «resultados» lo pase a otra hoja, seria posible?
wao esta muy util esta aplicacion lo pondre en uso en el trabajo y te aviso que tal
saludos desde honduras
hola por favor me puedes ayudar me sale este error 1004
Excel no puede insertar las hojas en el libro de destino porque este tiene menos filas menos filas y columnas
revise el archivo de la macros y tiene la misma cantidad de filas y columnas que las que quiero unir pero sin embargo me sale este error y cuando le pongo click en la opción de depurar la reviso y me doy con la sorpresa que tiene menos filas y columnas
por favor me ayudas
revisa que estés usando las mismas extensiones, si trabajas con un archivo de excel 2010 quizas esté adaptado a mas de 1 millon de filas mientras que si trabajas en una versión anterior solo tiene 65536.
Excelente funciona muy bien me ahorro bastante tiempo.
gracias.
Tendrán una macro que haga la misma función de unir varios archivos pero si contienen pestañas los archivos tambien las una y deje el resultado en un solo archivo pero concentrado en sus respectivas pestañas ?
Gracias.
Seria genial este tipo de macro
:O Es excelente amigo… gracias por la informacion y compartir el archivo
De verdad muchas gracias me ahorro bastante tiempo .
Esta Macro abre libros con Macro?
Solo sirve con 2 libros… no funciona para más ???….
Funciona con n cantidad de libros.
La verdad tengo 1,500 excel maximo de 20 lineas cada uno, algunos solo de 01 y pretendo unificarlos, ya los reparti en tantos de 250 pero aun asi pero me da se ha producido el error ´6´en tiempo de ejecucion – desbordamiento
Estoy tomando en cuenta todas sus sugerencias para modificar el archivo. Dame unas semanas para revisarlo.
Me salvaste el día!!!
Graicias por compartirlo me salvo jeje
Bien. Gracias!
Excelete !!.. es muy acertado el comentario «esta macro puede resultar siendo tu salvación».
Era justamente lo que estaba necesitando.
Muchísimas gracias por compartirlo.
Saludos.-
Excelente! Increíble que hice en 5 minutos lo que pudiera hacer en 1 hora.
Mil gracias!
Muchas gracias!!… eso es eficiencia..
saludos desde Mexicali..
Excelente, gracias por el aporte..
mil gracias!!!
me ha servido de mucho.
en que parte del comando le puedo hacer para que copie a partir del renglon 20 ya que todos mis archivos tienen la informacion que requiero a partir de ese renglon?
Y en que parte del comando puedo poner que de cada libro que habra solo copie del renglon 20 hacia abajo???
Te PA SAS TE !!!!! GRANDE MAESTRO
Buen dia!!
Justo lo que necesitaba!!!, pero puedo hacer una pregunta?? de donde saca las funciones!!?? me gustaria aprender mucho mas de las macros y crearlas por mi cuenta?.. agradeceria su respuesta!!!
Mil Gracias!!
Buen trabajo !!!
Seria genial si pudieras indicarme como modificarlo para que solo una la hoja 1 de cada archivo.
Un saludo y gracias.
¿Se pueden unir varias pestañas de un libro de excel en una sola?
muy buena tu macro, seria mucho que si nos co mentaras como hacerle tambien para separarlas de nuevo
Excelente Macro!!! felicitaciones
excelente macro! seria bueno si nos das un tutorial de como lo creaste! comparti tu conocimiento
Excelente como hago para controlarlo con un boton
es el mejor
Hola, alguien sabe como modificar la macro para que pegue las columnas de los otros archivos hacia el lado , es decir en las columnas adyacentes y no en solo en la primera columna.
Se podría hacer como lo que pides? También estoy buscando como unir todos los archivos hacia la derecha y no hacia abajo.
EXCELENTE!!!!!! MUCHAS GRACIAS
amigop esta perfecto pero como hago para ver a que archivo pertenece cada excel? te comento.. tengo 100 excel, pero como se cual es cual para no buscar uno por un, por ejemplo. en el archivo 82 hay 3 personas pero como se como se llama el archivo por que todo esta unificado y en el mismo formato? ayudame con esoo osea en una colummna adicional agregar el nomber del archivo . ayuda!!!
Hola:
Para saber a que hoja de excel pertenece cada archivo, se deberia capturar el nombre del archivo de excel y pegarlo en la siguiente columna.
Gracias…Me sirvió muchísimo!!!
Muchas gracias por su aporte!!! Herramienta muy util!!!
Realmente algo super útil muchísimas gracias por compartirlo
gracias, excelente ayuda
Super, le cambie xlsx por xls y tambien funciona!!!, muchas gracias.
EXCELENTE…me ahorre horas enfrente del monitor
Como hago para unir específicamente la primera hoja de varios excel ?
Amigo, muchisimas gracias por el aporte, me has ahorrado, horas y semanas de trabajo… Bendiciones!
COMO PUEDO PROGRAMARLA PARA UNIR UNICAMENTE LA HOJA 1 DE CADA LIBRO YA QUE AUTOMATICAMENTE UNE TODAS LAS HOJAS CON INFORMACION
hermano genial este aporte….de lo mejor….mil gracias…
Buenas noches, bueno el programita, aunque hay otro en la pagina Alejandro Quiceno García llamada ExcelAudi
Estoy sorprendido, es algo genial…la verdad que se paso..excelente..si tienes un blog con gusto lo seguire