top of page

Unir varias tablas con Excel.CurrentWorkbook()

En este ejemplo, tenemos un libro donde tenemos cuatro hojas, cada hoja es una provincia.

ree



Queremos crear una sola tabla con las cuatro provincias, además, si se añaden provincias nuevas, solo tenemos que actualizar.


Todas las hojas están en formato de tabla, y, cada tabla se llama como la provincia, además, todas las hojas tienen la misma estructura.


En la hoja de Cádiz, tenemos dos fechas en blanco.

ree














Y, en la hoja de Sevilla, en la columna de provincia, hay dos celdas sin la provincia

ree









Para poder crear una tabla única con todas las provincias, debemos de acudir a Power Query, esto, lo podemos de hacer de dos maneras, la primera de ellas es con una celda seleccionada en la primera provincia (Sevilla), vamos a la pestaña de datos, dentro del grupo obtener y transformar, y, hacemos clic en de una tabla o rango.

ree







Se abre Power Query, y, vemos la tabla de Sevilla.

ree











Ahora, voy a la pestaña de inicio, hacemos clic en cerrar y cargar en.

ree








Se abre la ventana, importar datos, donde marcamos crear únicamente la conexión, y, aceptamos.

ree













Se abre a la derecha, la ventana de consultas y conexiones, donde vemos la consulta Sevilla.

ree








Tendríamos que repetir este paso, con cada provincia que tengamos, lo cual se puede hacer un poco pesado, lo que quiero es cargar todas las tablas a la vez.


Voy a hacer clic en la consulta Sevilla dentro de consultas y conexiones, para volver a Power Query.


En pasos aplicados, hacemos clic en origen.


En la barra de fórmulas, vemos el nombre de la tabla, y, que nos devuelva el contenido.

ree



Bien, si solo dejo Excel.CurrentWorkbook(), quiere decir que me devuelva todas las tablas del libro activo.


Vemos que nos devuelve todas las tablas del libro activo.

ree







Vuelvo a hacer clic en cerrar y cargar, una vez en Excel, en la ventana de consultas y conexiones, hacemos clic con botón alternativo de ratón, y, seleccionamos eliminar.


También, podemos hacerlo de la siguiente manera, vamos a la pestaña de datos, dentro del grupo obtener y transformar, desplegamos obtener datos, y, seleccionamos de otras fuentes.

ree













En la ventana que se abre a la derecha seleccionamos consulta en blanco.


Se abre el editor de Power Query.


En la barra de fórmulas, escribimos Excel.CurrentWorkbook(), y, aceptamos.


Volvemos a tener las cuatro tablas del libro actual, donde en la ventana Content, tenemos la tabla, y, en la ventana Name, el nombre de la tabla.

ree







Si hacemos clic en la columna Content, veremos el contenido de la tabla en la parte inferior.

ree






Si hago clic en el botón de expandir, tendré todas las tablas.

ree






La columna name, no la voy a necesitar, por lo que voy a hacer clic en ella, con botón alternativo de ratón, y, selecciono quitar.

ree







Lo siguiente que voy a hacer es darle un nombre a la consulta, para ello, en la ventana de la derecha, configuración de la consulta, en la ventana nombre, le voy a poner datos, y, aceptar.

ree








Clic en el botón de expandir.

ree














Desmarcamos usar el nombre de columna original como prefijo.

ree















Aceptamos, y, tenemos todas las tablas cargadas.

ree





Ahora, debemos de rellenar las celdas que están vacías, empezamos por la columna provincia, hacemos clic con botón alternativo de ratón sobre la columna, desplegamos rellenar, y, seleccionamos abajo.

ree






Hacemos lo mismo en la columna de fecha.


Vemos que el tipo de datos de cada columna no ha sido detectado, por lo que pulsamos CTRL mas A, para seleccionar todo el modelo.


Vamos a la pestaña transformar, dentro del grupo cualquier columna, hacemos clic en detectar tipo de datos.

ree






Comprobamos que los tipos de datos detectados son correctos.


En la columna fecha, aparece la fecha y la hora, pero no hay hora, para ello, hago clic en el siguiente icono, y, selecciono fecha.

ree











Señalo la columna de cantidad, voy a la pestaña de inicio, despliego tipos de datos, y, elijo numero entero.

ree









Hago lo mismo en la columna de total.


Vamos a cargar el modelo en una nueva hoja de cálculo, para ello, desde la pestaña de inicio, hacemos clic en cerrar y cargar.

ree









Ya tenemos el modelo en Excel.

ree










Si algún dato cambia, solo tenemos que actualizar, para ello, hacemos clic con botón alternativo de ratón sobre una celda, y, seleccionamos actualizar.

ree











Si nos fijamos en la ventana de consultas y conexiones, a la derecha, vemos que nos indica que hay 451 filas.

ree







Pero, no es cierto, si hago clic en actualizar, vemos que nos aparecen más filas.

ree







Esto es debido a que este informe también es una tabla, entonces, se esta agregando a las otras tablas, vamos a volver a Power Query, vamos a pasos aplicados, y, hacemos clic en el paso origen, vemos que aparecen todas las tablas, incluida la que hemos creado.

ree







Por lo que se cargan las tablas de Sevilla, Córdoba, Almería, Cádiz, y, Datos, por lo que debemos de excluir la consulta Datos, lo podemos hacer haciendo clic en el siguiente icono.

ree








Desplegamos filtros de texto, y, seleccionamos no contiene.

ree















Hacemos clic en insertar paso.

ree






Se abre la ventana filtrar filas, pues, en la ventana a la derecha de no contiene, ponemos Datos.

ree







Aceptamos, y, vemos que ya no aparece la consulta Datos.

ree






Volvemos a cerrar y cargar.


Ahora, tenemos el numero de filas correctos, es decir, la unión de todas las provincias, pero no la consulta de Datos, aunque actualicemos, este número ya no cambiara.

ree







He añadido una nueva provincia.

ree




Actualizo el modelo, y, vemos como aparece dicha provincia.


A partir de ahora, podemos crear una tabla dinámica.


ree

Comentarios


© 2019 Miguel Ángel Franco García

bottom of page