Hola
Tengo un libro en el que manejo siempre mediante código unos datos y eso genera unas gráficas que están en hojas diferentes a la tabla de datos.
Tengo una función que sirve para limpiar la tabla, y básicamente elimina todas las filas con datos de la hoja de datos. Al hacer eso, las gráficas se enfadan y empiezan a quejarse de que las referencias no son válidas.
Entonces solucioné el problema de las referencias no válidas variando el código que limpia la hoja, de manera que antes de eliminar las filas, modifico todas las referencias a esas filas en las gráficas. Pero el mal ya estaba hecho.
El caso es que Excel tiene un bug, de manera que si ocurre lo que le he hecho a las gráficas, sigue dando el error permanentemente, aunque se solucionen las referencias no válidas. Y la página de Microsoft que explica el tema viene a decir algo como "sí, ya lo sabemos, ¿y qué?"
Vamos, que reconocen el error, pero no existe ninguna solución, ni dicen que la vaya a haber en breve.
Como no me da la gana de empezar de cero otra vez el libro, se me ha ocurrido que podría interceptar el error para que no se le aparezca a mi cliente, que es quien va a utilizar el archivo.
Este error aparece (no siempre) cada vez que se pincha en la pestaña de las hojas, cada vez que se recalcula la hoja, cuando se da a grabar, cuando se abre...
Quiero decir, sé cómo interceptar un error que produzco yo mediante código, pero no sé cómo puedo interceptar un error que no sé cuándo se va a producir.
¿Hay alguna manera?
Muchas gracias y saludos
No te voy a dar una solución, pero te voy a contar algo parecido que me ocurrió una vez a mí.
También tuve un gráfico que perdió las referencias y seguía dando el error aunque las series de datos estaban enlazadas de nuevo correctamente y el gráfico se veía bien
Casi por casualidad descubrí que el error de referencia no estaba en una serie de datos, sino en las etiquetas o rótulos del eje, que no se mostraban pero ahí tenía una referencia oculta.
Si tienes eje principal y secundario, cada uno tiene sus etiquetas, comprueba lo que tienes ahí.
Así que el gráfico tiene muchas cosas que pueden hacer referencia a las celdas que has eliminado y algunas están un poco escondidas y no muestran #Ref! para avisarte, al menos no en pantalla.
------
Ya sé Excel, pero necesito más.
Bueno, es que vi esto:
http://support.microsoft.com/kb/931389/en-us
Por otro lado, mis gráficos tienen un eje horizontal y uno vertical, y cada vez que hago una redefinición de datos también redefino los dos ejes, además de todas las series de datos.
Hasta donde yo sé, no hay más datos referenciados en todo el gráfico, pues el título está escrito a pedal y no creo que haya más cosas.
Cuando programaba en Delphi, existía la posibilidad de capturar los eventos de Windows, aunque no fueran provocados por mi código, de manera que mi programa pudiera reaccionar a cosas que pasaran alrededor.
Quería ver si se puede hacer algo parecido en Excel. Quizás cuando se ejecute el evento de recalcular.
Si no se puede, le pongo un texto al cliente echándole la culpa a Microsoft y santas Pascuas.
Un saludo
como afecta a la 2007, igual en la 2010 lo han corregido.
¿puedes abrirlo en un Excel 2010 a ver si lo arregla auto-mágicamente?
prueba con "abrir y reparar" en la ventana de abrir archivo.
------
Ya sé Excel, pero necesito más.
La verdad es que no sé si lo habrán corregido en el 2010, pero aunque fuera así, mis clientes utilizarán 2007 uno y 2003 con el patch para usar xlsm el otro. Si no quiero que les aparezca el error, mucho menos quiero que les aparezca y no poder reproducirlo yo :P
De todas maneras, muchas gracias por la tormenta de ideas ;)
Un saludo
hoy he tenido un error al abrir el archivo diciéndome que no encontraba un vínculo externo, aunque mi hoja no tienen ningún vínculo.
el problema era que cambié el nombre de los gráficos de mi libro y puse un nombre que contenía un espacio.
una vez corregido el nombre y quitados los espacios, se acabaron los problemas y los mensajes de error.
------
Ya sé Excel, pero necesito más.
Hola Cron,
¿Encontraste una solución a este tema? Hace tiempo que me peleo con este bug. Conseguí solucionarlo haciendo algo muy feo por código:
Mi solución fue mucho más fea. Le puse al cliente una imagen del error con un comentario diciéndole que era un bug de Microsoft y que lo ignorara.
Con este cliente había confianza. Si no me habría tocado rehacer toda la hoja.
Gente, se que este tema es viejo pero he llegado aquí buscando una solución al problema que ustedes también han tenido. les comento que, en mi caso, detecte que el conflicto radicaba en una tabla dinámica (supongo que por eso es que falla también en los gráficos). El problema lo resolví cliqueando en "Opciones-->Cambiar origen de datos" y efectivamente allí estaba mal la referencia. la corregí y el problema quedó resuelto. Espero que este dato les resulte de uitilidad.