Utilizzo del Codice per ripristinare un elenco di formule. Applicazione del Metodo Autofill
Uno dei motivi di maggiore rabbia, è quando inavvertitamente cancelliamo
delle celle con dei valori, celle che però contenevano anche delle formule.
E tanto maggiore è l'incavolatura quando perdiamo tutto un bel range di
celle, predisposte con fatica. E' possibile, tramite codice, predisporre una
macro che ci rimetta le cose a posto. Sarà sufficiente associare un pulsante
a questa macro, e le nostre formule ritorneranno in tutte le celle da cui
sono state cancellate ( o meglio, in tutto il Range (alias:
Intervallo) di celle che indicheremo nel
codice). |
B | C | D | E (vista delle formule) | E (valori) | |
1 | Operazione | Dare | Avere | Saldo | Saldo |
2 | riporto a saldo |
1000 |
|||
3 |
250 |
=SE((C3+D3)<>0;E2-C3+D3;"") |
750 |
||
4 |
100 |
=SE((C4+D4)<>0;E3-C4+D4;"") |
650 |
||
5 |
180 |
=SE((C5+D5)<>0;E4-C5+D5;"") |
830 |
||
6 |
=SE((C6+D6)<>0;E5-C6+D6;"") |
||||
7 | =SE((C7+D7)<>0;E6-C7+D7;"") | ||||
8 | =SE((C8+D8)<>0;E7-C8+D8;"") | ||||
9 |
Bene, prepareremo la nostra macro
utilizzando il metodo AutoFill
(corrisponde al "trascinamento", però fatto in automatico) per
riempire, in un colpo solo, tutte le celle previste nell'intervallo di
destinazione ( Range("E3:E8") ), e
non solo "riempire" ma anche "aggiornare i
riferimenti". Ovviamente
decideremo noi quanto lungo sarà il nostro elenco, e modificheremo i
riferimenti di detto intervallo. Questo è l'esempio con la proprietà FormulaR1C1 (Stile RiferimentoR1C1):
La formula dice: selezionami la cella E3, e in questa cella mi inserisci la formula: SE la cella che si trova due colonne a sinistra di questa RC[-2] e la cella che si trova una colonna a sinistra di questa RC[-1] , sono diverse da zero, allora mi prendi la cella che stà una cella sopra a questa R[-1] (vedete che manca il riferimento a C, e questo vuol dire: stessa colonna) mi ci sottrai (abbrevio)RC[-2] o/e mi sommi RC[-1] , altrimenti mi lasci la cella vuota """" . A questo punto, entra in gioco l'istruzione della riga successiva, dove troviamo AutoFill. il significato è questo: con ciò che hai messo nella cella selezionata, mi ci RIEMPI anche tutte le celle che vanno da E3 a E8. Poichè questa operazione equivale al "trascinamento" sul foglio di lavoro, il bravo Excel, provvede anche all'aggiornamento dei riferimenti nelle formule, in automatico. Questo è l'esempio con la proprietà Formula (StileA1):
Basterà a questo punto premere il pulsante associato alla macro, e nelle nostre celle riappariranno le formule. Ci saremo in questo modo protetti da eventuali errori, in barba alla distrazione! Ricordo che un buon metodo per imparare e modificare il codice, è quello di usare il "Registratore di macro" (presente in questa sezione). Potrete vedere, compiendo voi le azioni necessarie, come viene compilato il codice, e quindi, piano piano, assimilare le nozioni. Buon lavoro. |