Per ottenere questo comportamento è possibile utilizzare uno script VBA.
- Avviare Excel e caricare il documento che si intende proteggere;
- Dal menu File selezionare Opzioni;
- Selezionare Personalizzazione barra multifunzione;
- Nell'elenco Schede principali (sulla destra) aggiungere il segno di spunta alla voce Sviluppo e cliccare su OK;
FIG 1 - MS Excel, Personalizzazione barra multifunzione - Premere la combinazione di tasti ALT+F11 per aprire l'editor Microsoft Visual Basic, Application Edition;
- Dall'elenco ad albero presente sulla sinistra, eseguire un doppio click su Questa_cartella_di_lavoro;
FIG 2 - Microsoft Visual Basic, Application Edition - Copiare ed incollare il seguente codice
Sub BloccaCelleEvidenziate()
Dim idColore As Integer
idColore = 6
Dim rng As Range Dim colore As Long For Each rng In ActiveSheet.UsedRange.Cells colore = rng.Interior.colorIndex If (colore = idColore) Then rng.Locked = False Else rng.Locked = True End If Next rng
End Sub
- La variabile idColore rappresenta il codice colore delle celle da mantenere editabili. Il colore può essere modificato facendo riferimento all'elenco presente sul sito http://dmcritchie.mvps.org/excel/colors.htm.
- Dalla scheda Sviluppo cliccare sul pulsante Macro (oppure premere la combinazione ALT+F8);
- Selezionare la macro BloccaCelleEvidenziate e cliccare su Esegui;
- Per bloccare le altre celle, posizionarsi sulla scheda Revisione, cliccare su Proteggi foglio ed accettare le impostazioni di default cliccando su OK;
FIG 3 - MS Excel, Proteggi foglio - Dal menu File, cliccare su Salva con nome. Nella casella Salva come selezionare Cartella di lavoro con attivazione macro di Excel quindi assegnare un nome al file e confermare il salvataggio.
FIG 4 - MS Excel, Salva come Cartella di lavoro con attivazione macro di Excel