I riferimenti circolari si verificano quando una formula fa riferimento, direttamente o indirettamente, alla cella in cui è memorizzata la formula. Ad esempio, se B3 contiene la formula = B2 + B3, B3 contiene un riferimento circolare.

Normalmente, i riferimenti circolari rappresentano un errore in una formula. Tuttavia, in alcune situazioni sono auspicabili riferimenti circolari.

Excel ti consente di includere riferimenti circolari in un foglio di lavoro, ma può diventare un po ‘schizzinoso al riguardo.

Per la maggior parte, Excel è molto indulgente sui riferimenti circolari se hai attivato il controllo Iterazione. (Scegliere Opzioni dal menu Strumenti e visualizzare la scheda Calcolo.) Se si seleziona la casella di controllo Iterazione e quindi si immette un riferimento circolare, Excel non protesta.

Invece, utilizza le impostazioni nella scheda Calcolo per controllare quante volte il riferimento circolare viene ripetuto prima di essere considerato completato.

Sembra che l’impostazione della casella di controllo Iterazione sia archiviata come parte di una cartella di lavoro, ma non viene sempre prestata attenzione a quando la cartella di lavoro viene successivamente caricata in Excel. In effetti, l’impostazione viene completamente ignorata se si verifica una delle seguenti condizioni prima di aprire la cartella di lavoro:

  • Apri qualsiasi altra cartella di lavoro oltre alla cartella di lavoro predefinita creata al primo avvio di Excel.

  • Si modifica la casella di controllo Iterazione mentre è visualizzata la cartella di lavoro predefinita.

Quello che fa Excel è esaminare l’impostazione della casella di controllo Iterazione per qualsiasi cartella di lavoro aperta per la prima volta. Quell’impostazione diventa il “predefinito” per la sessione corrente con Excel. Per qualsiasi altra cartella di lavoro caricata durante la stessa sessione, l’impostazione salvata della casella di controllo Iterazione viene ignorata.

Inoltre, se si dispone di una cartella di lavoro Personal.xls definita sul sistema, l’impostazione della casella di controllo Iterazione all’interno di quel file viene sempre utilizzata come impostazione predefinita. Perché? Perché Personal.xls sarà sempre la prima cartella di lavoro aperta e la prima cartella di lavoro aperta definisce sempre il valore predefinito per l’impostazione.

Se si dispone di una cartella di lavoro salvata che utilizza riferimenti circolari e la casella di controllo Iterazione è deselezionata (per impostazione predefinita o esplicitamente), quando si apre la cartella di lavoro contenente i riferimenti circolari, Excel visualizza un avviso. Se non si desidera visualizzare l’avviso, la soluzione ovvia è assicurarsi di aprire la cartella di lavoro prima di qualsiasi altra cartella di lavoro (in modo che venga utilizzata l’impostazione Iterazione) o impostare esplicitamente la casella di controllo Iterazione prima di aprire la cartella di lavoro.

Se non vuoi preoccuparti di quale ordine apri le cartelle di lavoro e non vuoi cambiare sempre l’impostazione della casella di controllo Iterazione, puoi creare una macro che assicuri che la casella di controllo Iterazione sia selezionata per la cartella di lavoro. Se si assegna la macro all’evento Apri per la cartella di lavoro, verrà eseguita ogni volta che la cartella di lavoro viene aperta, assicurandosi di non vedere l’avviso che non si desidera visualizzare.

La macro si presenta come segue:

Private Sub Workbook_Open()

Application.Iteration = True End Sub

Se si dispone di una cartella di lavoro Personal.xls definita per il sistema, è possibile aggiungervi questa macro invece che a singole cartelle di lavoro. In questo modo puoi assicurarti che la casella di controllo Iterazione sia sempre selezionata per ogni sessione di Excel.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (2816) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: