Este tutorial le mostrará cómo combinar múltiples archivos de excel en un libro de trabajo en vba. La creación de un solo libro de trabajo a partir de varios libros de trabajo, utilizando vba requiere una serie de pasos a seguir. Para ejecutar una macro en varias hojas al mismo tiempo sin activarla una por una, puede aplicar el siguiente código vba, haga lo siguiente:
Mantenga pulsado el alt + f11 teclas para abrir el microsoft visual basic para aplicaciones ventana. Hacer clic recuadro > módulo y pegue la siguiente macro en el módulo ventana. Set hojadestino = activeworkbook.
Add ( after:= sheets ( sheets. Name = nombrehojaconsolidado filainicio = 1 'fila de inicio después del encabezado for each hoja in activeworkbook. Name then ultimafilaorigen = hoja.
Con esta macro copias la primera hoja de cada archivo en una sola hoja. Pon la macro en un libro y en ese mismo libro te hará el concentrado. Active el libro de trabajo en el que desea fusionar las hojas, presione alt + f11llaves para abrirmicrosoft visual basic para aplicacionesventana.
Hacer clic recuadro>módulo, y luego pegue debajo del código vba en el nuevo móduloventana. Combinar hojas con los mismos encabezados sub combine() 'updatebykutools20151029 dim i as integer Para poder agrupar los datos varias hojas en una sola, debemos tener los mismos encabezados en todas las hojas para garantizar que la hoja concentradora no tenga columnas de más.
La macro recorrerá cada una de las hojas y tomará los datos para luego pegarlos en la primera hoja, donde se concentrarán los datos. Te propongo una solución pero no sé si es lo que está buscando. A través de la pestaña datos de excel puedes crear conexiones a tus tablas y posteriormente unirlas con powerquery.
Para poder visualizar el resto de este tema y sus adjuntos: Si nunca te has registrado puedes registrarte gratis aquí. En este video te voy a mostrar como puedes unir los datos de varias hojas de excel en una sola, mediante un botón utilizando una macro para automatizar el pr.
Use esta macro pero no funciona, sub consolidarhojas () for each ws in activeworkbook. worksheets ws. select selection. currentregion. copy worksheets (1). select range (a1048576). end (xlup). offset (0, 1). select range (b1048576). end (xlup). offset (0, 2). select range (c1048576). end (xlup). offset (0, 3). select activesheet. paste next ws end sub Abra todas las hojas de origen. En la hoja de destino, haga clic en la celda superior izquierda del área donde quiere que aparezcan los datos consolidados.
Asegúrese de dejar celdas suficientes a la derecha y por debajo de los datos consolidados. En la pestaña datos, del grupo herramientas de datos, haga clic en consolidar. Sub unir_hojas () dim sig as byte, eliminar as boolean for sig = 2 to worksheets.
Count worksheets ( sig). Copy _ worksheets ( 1). Offset ( 1) next application.
Displayalerts = false for sig = 2 to worksheets. Count worksheets ( 2). Displayalerts = true end sub un saludo.