venerdì 14 dicembre 2018

MS Excel Quick Tip: Bloccare le celle in base al colore di riempimento

Nei fogli Excel complessi può essere utile bloccare tutte le celle mantenendone editabili solo alcune evidenziate con un particolare colore.
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;
    MS Excel, Personalizzazione barra multifunzione
    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;
    Microsoft Visual Basic, Application Edition
    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;
    MS Excel, Proteggi foglio
    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.
    MS Excel, Salva come Cartella di lavoro con attivazione macro di Excel
    FIG 4 - MS Excel, Salva come Cartella di lavoro con attivazione macro di Excel

Adesso tutte le celle colorate con il codice colore specificato dalla variabile idColore verranno mantenute editabili mentre le restanti saranno bloccate.





Nessun commento:

Posta un commento

I messaggi sono soggetti a moderazione da parte dell'amministratore prima della loro pubblicazione.