Ciao bj888forever, benvenuto nel forum.
Personalmente ritengo sia sbagliato /rischioso produrre volutamente un riferimento circolare.
Puoi comunque abilitare il calcolo iterativo a tuo rischio (o meglio: a rischio del tuo cliente) in Menu /Strumenti /Opzioni, tab Calcolo (per XL2003 e inferiori), ma questa e' una abilitazione che impatta tutti i workbook aperti e rimane attiva alla chiusura del tuo file. Quindi, se decidi di procedere in questo senso, e' bene settare questa abilitazione all' apertura del file e rimuoverla alla chiusura, replicando lo stesso meccanismo all' attivazione del workbook e alla sua disattivazione; tutto cio' lo puoi fare con le seguenti "macro di evento":
- Codice: Seleziona tutto
Workbook_Open (consenti iterazioni)
Workbook_BeforeClose (rimuovi iterazioni)
Workbook_Activate (consenti)
Workbook_Deactivate (rimuovi)
Tutte da inserire nel modulo "ThisWorkbook" del vba.
Il codice per consentire le iterazioni o per rimuovere tale permesso lo ottieni registrando due macro mentre imposti manualmente (Menu /Strumenti /etc) l' opzione; poi nelle "macro di evento" bastera' inserire Call Macro1 quando vuoi abilitare e Call Macro2 quando vuoi disabilitare (ovviamente invece di Macro1 e Macro2 userai il vero nome che hai dato alle due macro).
Se non riesci a risolvere con questi spunti posta ancora spiegando dove sei arrivato e dove ti sei invece arenato.
Se invece condividi il giudizio di "sbagliato /rischioso", allora forse dovresti cambiare approccio: spesso basta separare l' area in cui si inseriscono i dati da quella in cui si calcolano i risultati, oppure elaborare con macro quello che per la formula e' un riferimento circolare; servirebbe comunque (per cominciare) conoscere il tuo attuale layout dati e la/le formule che producono riferimento circolare.
Ciao