Ron tiene un libro de trabajo que requiere el uso de referencias circulares, para lo cual puede configurar Excel sin problemas. Después de proteger y enviar por correo electrónico el libro de trabajo a los colegas, tras su uso, la capacidad iterativa (necesaria para las referencias circulares) se desactiva y la hoja de trabajo falla debido a errores de referencia circular. Ron se pregunta si hay una forma de predeterminar el libro de trabajo para que las referencias circulares estén habilitadas cuando sus colegas lo carguen.

La única forma de asegurarse de que los libros de trabajo de los colegas tengan habilitadas las referencias circulares es agregar una macro a su libro de trabajo. En realidad, la macro solo tiene una línea de longitud y querrá asegurarse de agregarla al módulo ThisWorkbook:

Private Sub Workbook_Open()

Application.Iteration = True End Sub

La macro se ejecuta cada vez que se abre el libro y activa la configuración de referencias circulares.

Hay un par de cosas que debe recordar cuando se trata de que esto realmente funcione para sus colegas. Primero, su libro de trabajo deberá guardarse en una versión «habilitada para macros», lo que significa que tendrá la extensión XLSM. Si sus colegas deshabilitan las macros, ya sea explícitamente al abrir el libro de trabajo o implícitamente a través de la configuración del Centro de seguridad que han configurado en Excel, es posible que la macro no se ejecute cuando se abra el libro de trabajo. En tales situaciones, estos colegas seguirán recibiendo los errores de referencia circular.

Lo segundo que debe recordar es que habilitar la configuración de referencia circular (ya sea a través de esta macro o al hacerlo manualmente) afectará no solo los cálculos en su libro de trabajo, sino en cualquier libro de trabajo que sus colegas puedan tener abierto. Esto no debería causar un gran problema, pero es bueno tenerlo en cuenta.

También es posible que desee agregar una macro para desactivar la configuración de referencia circular cuando su libro de trabajo está cerrado. Esto también debería agregarse al módulo ThisWorkbook:

Private Sub Workbook_Close()

Application.Iteration = False End Sub

En realidad, esta macro debería considerarse opcional y es posible que desee considerar si realmente desea incluirla o no. Si sus colegas normalmente trabajan con la configuración de referencia circular habilitada, entonces la macro Workbook_Open realmente no afectará la forma en que usan Excel. Sin embargo, si se encuentra su macro Workbook_Close, desactivará la configuración de referencia circular y puede interferir con la forma en que usan otros libros de trabajo que requieren referencias circulares.

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (13532) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365.