Cambio de nombre libros vinculados

Tengo una aplicación desarrollada en VBA, que se ocupa de la gestión, un tanto peculiar, de un negocio con varias tiendas. Se trata de dos libros de Excel, uno de ellos lleva las anotaciones de cada una de las tiendas, con una hoja por tienda y el otro lleva una serie de datos y estadísticas a nivel global. Para esta cuestión que te planteo, los libros los denominaremos "Tiendas" y "General".
Las hojas del libro Tiendas están enlazadas con algunas hojas del libro General.
Semanalmente, por medio de VBA se ejecuta un "cierre" de semana, de modo que los libros pasan a redenominarse "Tienda semana XX" y "General semana XX" respectivamente (grabar como..), conservando los datos de la semana que se cierra y "limpiando" los libros ·Tiendas" y "General" para que recojan los datos de la nueva semana. Este proceso incluye también el pase de algunos saldos finales como saldos iniciales de la nueva semana.
Esta aplicación la tengo en marcha desde 1.995, con constantes retoques y mejoras pero, hasta ahora, sin problemas.
Desde hace unas tres semanas, he observado que las referencias / vínculos a hojas en otros libros no las actualiza, por ejemplo: la hoja 1 del libro Tiendas contiene una fórmula que hace referencia a la hoja 2 del libro General, hasta hace poco, al grabar el libroTiendas como Tiendas semana XX y el libro General como General semana XX, automáticamente se actualizaban los vínculos y referencias, y en el caso de este ejemplo la fórmula cambiaba a hoja 2 del libro General semana XX. Ahora los vínculos no se actualizan por lo que los libros regrabados, por ejemplo, como Tiendas semana XX contienen vínculos al libro General, en lugar del libro General semana XX, y viceversa, con lo cual los datos no son fiables.
Esto ha venido funcionado bien desde siempre. La aplicación la escribí con Excel 95 y W95, después cambié a Excel 97, también actualicé a X98-SE, siempre sin problemas. Ahora, tengo recientemente Windows Xp y Excel 2000 y desde entonces han empezado a aparecer estos problemas que he comentado, de los cuales no tengo ni idea de su origen.
No se sí habré conseguido explicar bien el tema, pues es algo confuso. Si necesitas más aclaraciones por mi parte, me lo haces saber.

1 respuesta

Respuesta
1
He comprendido lo que te ocurre.
Intenta hacer lo siguiente:
1.- Abre los ficheros "Tiendas.xls" y "General.xls" para que se actualicen los vínculos y luego renombra los ficheros con guardar como.
2.- Si eso no funciona, abre los dos ficheros renombrados, es decir los "Tiendas semana xxx" y "General semana xxx" y actualiza los vínculos. Para actualizar los vínculos lo puedes hacer en Edición/Vinculos, aparecerá un dialogbox donde debes escoger los nuevos ficheros, los de "semana xxx".
3.- Otra solución que puedes intentar es a través de programación, pero es un poco más complicada. Consistiría en hacer una función que actualizara los vínculos y para ello tendrías que recorrer las todas las hojas de los libros que tuviesen vínculos y cambiar la referencia en las celdas correspondientes a través de la propiedad fórmula de la celda.
Bueno, espero que con lo que te he dicho puedas solucionar tu problema. Si necesitas más ayuda con la opción 3 me avisas.
Ante todo, muchas gracias por tu rápida respuesta. No obstante. Mi problema no se puede resolver del modo que me indicas, dado que todo el proceso de "cerrar" las hojas, grabando con nombres nuevos, lo lleva a cabo el VBA, y ésto venía funcionando bien desde muchos años.
Supongo que el problema tiene que ver con haber actualizado a Excel 2000 y Win XP, es posible que algunas instrucciones de VBA no se reconozcan bien en estos sistemas, pues el original está escrito en el lenguaje de macros de Excel 95, distinto pero compatible con el de Excel 97, pero no se como funcionarán todas las instrcciones en Excel 2000
Si se te ocurre algo en este sentido, házmelo saber.
De nuevo, gracias.
Pues, efectivamente los problemas radican en el cambio de versiones de Excel. Como solución se me ocurren dos cosas:
1.- Hacer referencias a las librerías antiguas. Para hacer esto necesitas ver las librerías que estabas reverenciando en la versión antigua y hacer referencia a ella(s) en la nueva versión. Eso lo puedes verificar en la opción Herramientas del módulo Visual Basic dentro de Excel.
2.- Revisar el código VBA y determinar cuales son las funciones que no van y ver si existen unas funciones más nuevas que hagan lo mismo o reescribirlas en Excel 2000.
De momento no se me ocurre nada más.
Muchas gracias por tu interés, creo que tu respuesta está en la onda de lo que necesito, procederé a revisar minuciosamente el proyecto Vba. Saludos cordiales

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas