24 septiembre, 2023

VINCULAR BASE DE DATOS ENTRE VARIAS HOJAS DE EXCEL

Hace tiempo escribí una entrada relacionada con la posibilidad de conectar una base de datos de Access con excel mediante un procedimiento de VBA, fue un ejemplo importante y uno de los post más visitados y descargador de Excel Signum.

Hoy quiero trabajar un poco el tema de vinculación de datos y ofrecer la posibilidad de hacerlo sin necesidad de código de programación y entre archivos de Excel. El ejemplo es claro, imaginad que tenéis una hoja de excel con una serie de datos y de la que habitualmente extraéis información para trabajar pero que necesitáis llevar esos datos a otra hoja o a otro libro. Esto se puede conseguir utilizando las herramientas de las que disponemos en la cinta de opciones de Excel.

Voy a utilizar un archivo que ya conocéis de otros ejemplos, una base de datos con la población de municipios de España:

POBLACIONES_1

Esta información la tenemos en la hoja1 de nuestro archivo y necesitamos vincularla y llevarla a la hoja3 de ese mismo libro. ¿cómo lo hacemos?.

En primer lugar pulsamos en la pestaña «Datos» de la cinta de opciones de Excel y a continuación pulsamos en «Conexiones», luego se nos abrirá un cuadro de diálogo que nos va a mostrar todas las conexiones que tiene nuestra hoja (en este caso no tiene ninguna), por lo que vamos a pulsar en «Sumar» para buscar conexiones que tengamos en nuestro equipo y pulsamos en «Examinar en busca de más…». Os dejo en imágenes lo comentado hasta ahora:

POBLACIONES_2
Una vez que pulsamos en «Examinar en busca de más…» aparecerá otro cuadro de diálogo donde se nos indica que seleccionemos un archivo de origen de datos. En mi ejemplo, ese archivo se llama «Poblaciones» y está ubicado en «Mis Documentos», a continuación pulsamos en «Abrir»

POBLACIONES_3
Cuando pulsamos en «Abrir» vamos a ver el archivo de Excel que hemos seleccionado. Es importante seleccionar la hoja en donde se encuentran los datos a vincular. En este ejemplo los datos están en la Hoja1:

POBLACIONES_4
Una vez que pulsemos aceptar ya tendremos los datos del archivo «POBLACIONES» vinculado a nuestro libro y podremos descargar los datos en cualquier hoja:

POBLACIONES_5

Para descargar los datos tan solo tenemos que ir a la pestaña de «Datos» de Excel y pulsar en «Conexiones existentes» y nos apareceré la nueva conexión que hemos creado, «POBLACIONES». Una vez que la abramos, nos aparecerá un cuadro de diálogo donde podremos escoger si queremos los datos como una tabla, como un informe de tabla dinámica o como un informe de gráfico y también el lugar de la hoja en el que queremos que se muestren los datos:

POBLACIONES_6

En este ejemplo, seleccionaré «ver como Tabla» y la mostraré a partir de la celda A1. Como podéis ver, son los mismos datos que la tabla de la hoja1, solo que ahora los podemos llevar a cualquier hoja. Además cualquier cambio en la tabla inicial, la de la hoja1 se reflejará en las que están vinculadas. Si realizáis cambios en la tabla principal y queréis que se relfjen en el resto debéis pulsar en el comando «Actualizar» y los cambios quedarán reflejados.

POBLACIONES_7

Este tipo de vinculaciones son muy útiles cuando trabajamos con bases de datos que extraemos de otros programas o base de datos y con los que periódicamente trabajamos. Tan solo tendríamos que pegar la nueva base de datos en la hoja principal de la que se alimentan el resto de tablas, es decir, para este ejemplo, la hoja1.

Aunque siempre suelo dejar el ejemplo del ejercicio que he realizado, en este caso solo puedo dejar la base de datos. No es posible descargar el ejercicio completo dado que para que funcione lo tenéis que vincular a un directorio de vuestro ordenador. Por ello os animo a descargar la base de datos y realizar el ejercicio con el post como si fuese un tutorial.

Descarga el archivo de ejemplo pulsando en: VINCULAR BASE DE DATOS

Comparte este post

11 comentarios en «VINCULAR BASE DE DATOS ENTRE VARIAS HOJAS DE EXCEL»

  1. Hola! Mil gracias por este excelente este post y ejemplo!!. Una duda: si cada una de esas líneas quisiera vaciarlas cada una en diferentes pestañas de excel de un mismo archivo ¿Podría hacerse de manera rápida? Gracias nuevamente!!

  2. Una pregunta… ¿esta macro me va a permitir que cada que actualice mi base de datos, los datos en las demás hojas se actualicen ?
    Es que necesito que ciertos valores se sumen o resten, dependiendo la situación y que cada que la base de datos se actualice, al igual los datos de las hojas también lo haga.

    1. Siempre que actualices la tabla base o matriz en la que tienes toda la información y que actualizas, el resto de hojas vinculadas mostrarán cualquier cambio que hagas en la inicial.

      Saludos.

  3. muy buena la información muchas gracias, tengo una pregunta como hago para actualizar la información si la hoja que va actualizar esta bloqueada, existe alguna manera que actualice sin tener que desbloquearla?
    muchas gracias y quedo atento a sus comentarios

  4. Hola Segu ,

    Una duda, esto funciona para combinar varios documentos al mismo tiempo? es decir, tengo varios documentos (Diferentes areas) que cada una genera su información, con esto puedo combinar todos los archivos? Todos tienen las mismas columnas, solo quiero estar vaciando la info de todos en un mismo documento.

  5. Hola Segu,
    No sé si esto me vale para la situación que tengo entre manos.
    Cree una serie de tablas dinámicas conectado a un modelo en Power Pívot, ese modelo en Power Pívot es una conexión de mi tabla subida a Power Query.
    He creado un modelo en Power Pívot por que necesitaba realizar una de serie de cálculos personalizadas.
    Cuando cree mis tablas Dinámicas, lo hice con un muestra de los datos ya que no tenía acceso a la bbdd, por que necesitaban probar una serie de cosas antes y se me denegó el acceso a la bbdd (lo cual hubiera sido más fácil así creo las tablas directamente alimentada de la bbdd).
    Resulta que para insertar registros procedentes de la bbdd, vacié mi tabla con los datos de muestra.
    ¿Cuál es mi problema?
    El problema viene cuando insertamos los registros procedentes de la bbdd en la tabla vacía, en Power Pívot no coger los registros a partir de la fila 5 y por consiguiente en mis tablas dinámicas sólo se refleja los datos correspondientes a las primeras 4 filas de la tabla.

    A qué puede deberse esto?
    No tengo ni idea por que las filas no son dinámicas.
    Ayuda por favor.
    Un saludo y gracias de antemano.

  6. Tendría ver un ejemplo … supongo que lo que necesitas en crear una variable con el conteo de datos para que pueda actualizar el source del rango de inicio.

    Puedes investigar sobre eso en esta web o en la red.

    Saludos

Si te ha gustado o tienes alguna duda, puedes dejar aquí tu comentario.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies