Excel - hojas vinculadas

Hola: tengo una consulta simple, lo que no me resulta tan simple es explicarla, veamos: Utilizo excel como una aplicación personalizando las hojas de acuerdo a mis necesidades .Así tengo unas hojas (digamos en nivel A) en las cuales introduzco dstintos tipos de datos diariamente. Ademas tengo unos resúmenes mensuales, según el tipo de datos,(llamémosle nivel B) vinculados claro esta a sus correspondientes hojas en el nivel A. Y aún tengo unos libros con resúmenes muy complejos por trabajar con gran numero de datos,(digámosle nivel C) que toman sus datos del nivel B. Mi problema es que para tener los datos actualizados siempre que abra el nivel C, he de abrir cada uno de los libeos del nivel B, ya que sino el nivel b no actualiza sus vínculos al nivel A y por tanto los datos que encuentro en el nivel C no son actuales. Esto no seria un problema sino fuera porque las hojas en nivel B son muchas y no puedo estar abriendo cada una para que actualice vínculos. También me gustaría saber como conseguir que excel actualize sus vínculos al abrir una hoja automáticamente, sin que pida permiso con su mensaje. No se si me has entendido, porque es más lio explicarlo que lo que es en si. Gracias. Espero tu respuesta.
Un saludo
Joserra
Felices Fiestas

1 respuesta

Respuesta
1
Te explicas muy bien. Felices Fiestas para ti también.
A tu segunda pregunta, para que no te pida permiso para actualizar tienes que ir a Herramientas\Opciones\Modificar\ y desactivar la opción "Consultar al actualizar vínculos automáticos".
A tu primera pregunta, efectivamente Excel no respeta vínculos de segundo nivel.
La forma más sencilla que veo es que insertes un poco de código en el libro a nivel C, en el que ordenes que cada vez que se abre el libro, abra todos los B, los actualice, y los cierre.
Tendrás que incluir las siguientes líneas:
Private Sub Workbook_Open()
Workbooks.Open "c:\prueba\b1.xls", 3
Workbooks.Open "c:\prueba\b2.xls", 3
Workbooks.Open "c:\prueba\b3.xls", 3
Workbooks("b1.xls").Close Savechanges = True
Workbooks("b2.xls").Close Savechanges = True
Workbooks("b3.xls").Close Savechanges = True
End Sub
Donde b1, b2, b3... son todos los archivos que necesites abrir de nivel B. El modificador "3" hará que actualice los vínculos automáticamente. Poniendo Savechanges = True haces que no te moleste con las preguntas de si deseas guardar.
Con eso, quizás tarde unos segundos en abrir y cerrar todos los archivos, pero tú no tendrás que hacer nada, y para ti será un proceso limpio.
Saludos,
Toni
http://www.portalsingular.com

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas