È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!

Excel Forum Per condividere esperienze su Microsoft Excel

colorare solo celle sbloccate in un foglio elettronico bloccato

  • Messaggi
  • OFFLINE
    keaton81
    Post: 1
    Registrato il: 10/02/2016
    Città: BOLOGNA
    Età: 42
    Utente Junior
    excel 2016
    00 10/02/2016 14:28
    Ciao a tutti, sono nuovo nel forum e un novizio di excel.

    Espongo il mio problema: ho un foglio excel protetto all'interno del quale ho sbloccato delle celle.

    In queste celle sbloccate deve poter scrivere e devo poter impostare il formato (per colorarle del colore che voglio, non importa quale sia il colore) mentre le altre celle bloccate devono restare cosi come sono, quindi non devono essere modificate.

    Ho infatti impostato un codice vba per sommare le celle colorate del medesimo colore.

    Quando imposto la protezione del foglio potrei spuntare "formato celle", ma cosi facendo, gli utenti che useranno il mio figlio di lavoro potranno anche involontariamente colorare le celle bloccate. Il mio lavoro é un calendario pertanto le celle bloccate non devono subire alcuna variazione.

    Spero di essere riuscito ad esporre il problema in modo chiaro!! :)

    Esiste un modo per poter risolvere questo problema?

    Grazie in anticipo a tutti!!! [SM=x423028]
  • OFFLINE
    cromagno
    Post: 288
    Registrato il: 02/08/2015
    Utente Junior
    Excel 2013
    00 10/02/2016 16:23
    Ciao Keaton,
    potresti utilizzare l'evento "Worksheet_SelectionChange" del foglio in questione, in modo che se ti posizioni sopra una cella di cui preventivamente hai dati il consenso, allora il foglio verrà sbloccato altrimenti rimarrà bloccato.

    Option Explicit
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Libere As Range
    
    Set Libere = Uni0n([A1:B2], [C3], [H5], [E10], [H11], [C18])
    If Not Intersect(Target, Libere) Is Nothing Then
        ActiveSheet.Unprotect "123"
    Else
        ActiveSheet.Protect "123"
    End If
    End Sub


    Nel file allegato, le celle gialle sono quelle che puoi modificare.


    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
  • OFFLINE
    rollis13
    Post: 176
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Junior
    Excel 2016-32bit Win11
    00 10/02/2016 17:25
    keaton81, non capisco, hai un foglio protetto con alcune celle libere dove devi scrivere e colorare e questo chiaramente vale anche per gli utenti utilizzatori. Ora, se il foglio è protetto, perché ti preoccupi delle celle bloccate ? sono protette tramite la protezione del foglio.
    [Modificato da rollis13 10/02/2016 17:26]

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
  • OFFLINE
    keaton81
    Post: 1
    Registrato il: 10/02/2016
    Città: BOLOGNA
    Età: 42
    Utente Junior
    excel 2016
    00 11/02/2016 20:26
    Re:
    cromagno, 10/02/2016 16:23:

    Ciao Keaton,
    potresti utilizzare l'evento "Worksheet_SelectionChange" del foglio in questione, in modo che se ti posizioni sopra una cella di cui preventivamente hai dati il consenso, allora il foglio verrà sbloccato altrimenti rimarrà bloccato.

    Option Explicit
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Libere As Range
    
    Set Libere = Uni0n([A1:B2], [C3], [H5], [E10], [H11], [C18])
    If Not Intersect(Target, Libere) Is Nothing Then
        ActiveSheet.Unprotect "123"
    Else
        ActiveSheet.Protect "123"
    End If
    End Sub


    Nel file allegato, le celle gialle sono quelle che puoi modificare.




    ciao Cromagno, grazie mille per la risposta!scusami se rispondo solo ora, ma in questi giorni sono stato impegnato; ho provato il worksheet selectionchange e funziona benissimo.

    l'unico problema è che quando seleziono un area generica comprensiva di celle bloccate e di celle sbloccate e premo canc, si cancella tutto.

    qualcuno sa ovviare a questo problema?
  • OFFLINE
    keaton81
    Post: 2
    Registrato il: 10/02/2016
    Città: BOLOGNA
    Età: 42
    Utente Junior
    excel 2016
    00 11/02/2016 21:20
    Re:
    rollis13, 10/02/2016 17:25:

    keaton81, non capisco, hai un foglio protetto con alcune celle libere dove devi scrivere e colorare e questo chiaramente vale anche per gli utenti utilizzatori. Ora, se il foglio è protetto, perché ti preoccupi delle celle bloccate ? sono protette tramite la protezione del foglio.



    ciao rollis, non mi preoccupo delle celle bloccate, ma di quelle sbloccate.

    devo fare in modo che le celle sbloccate possano essere colorate. così inizialmente avevo pensato a proteggere il foglio spuntando l'opzione formato celle che permette di formattare le celle. ma così facendo in realtà tutte le celle possono essere formattate.

    è per questo che ho chiesto aiuto al forum. [SM=x423038]

  • OFFLINE
    rollis13
    Post: 177
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Junior
    Excel 2016-32bit Win11
    00 11/02/2016 21:50
    Continuo a non capacitarmi, nel primo post hai scritto: "In queste celle sbloccate deve poter scrivere e devo poter impostare il formato", infatti, se sono "sbloccate" lo sono proprio per permetterti di fare ciò che volevi.
    Quelle invece che sono "bloccate", nel momento in cui attivi la protezione del foglio, non sarà possibile metterci mano, Excel è fatto proprio così.
    [Modificato da rollis13 11/02/2016 21:50]

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
  • OFFLINE
    keaton81
    Post: 2
    Registrato il: 10/02/2016
    Città: BOLOGNA
    Età: 42
    Utente Junior
    excel 2016
    00 11/02/2016 22:09
    Re:
    rollis13, 11/02/2016 21:50:

    Continuo a non capacitarmi, nel primo post hai scritto: "In queste celle sbloccate deve poter scrivere e devo poter impostare il formato", infatti, se sono "sbloccate" lo sono proprio per permetterti di fare ciò che volevi.
    Quelle invece che sono "bloccate", nel momento in cui attivi la protezione del foglio, non sarà possibile metterci mano, Excel è fatto proprio così.




    ti rispiego. io per sbloccare le celle faccio così: in un foglio seleziono delle celle, facciamo a1:c10, tasto destro formato celle, protezione despunto blocca e despunto nascondi, clicco ok

    per bloccare le altre: faccio click destro sulla linguetta, proteggi foglio, metto la password due volte, seleziono una cella qualsiasi da a1 a c10, se provo a colorare, excel non colora. ci posso scrivere, ma non le colora. a me serve scriverci e colorarci.

    forse io faccio qualche errore nella procedura ed è per questo che non ci capiamo [SM=x423054]



  • OFFLINE
    rollis13
    Post: 178
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Junior
    Excel 2016-32bit Win11
    00 11/02/2016 23:38
    Adesso mi è più chiaro; quando attivi la protezione, se vuoi poter operare sulla formattazione delle celle libere, devi lasciare le spunte solo su: "seleziona celle sbloccate" e "formato celle".
    Inoltre, non è necessario impostare la password a meno di voler/dover "blindare" il foglio, basta attivare la protezione.

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
  • OFFLINE
    cromagno
    Post: 289
    Registrato il: 02/08/2015
    Utente Junior
    Excel 2013
    00 12/02/2016 10:51
    Ciao a tutti,
    per ovviare al problema descritto (selezione di più celle compresa una cella in cui si può intervenire), si potrebbe aggiungere questa riga all'inizio del codice:

    If Target.Count > 1 Then Exit Sub


    Cioè, se si seleziona più di una cella il codice non viene eseguito e di conseguenza il foglio rimane bloccato.
    Il codice intero sarebbe:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Libere As Range
    '________________________________________________
    'se si seleziona più di una cella il codice termina e il foglio resta bloccato
    If Target.Count > 1 Then Exit Sub
    '____________________________________________________
    
    Set Libere = Uni0n([A1:B2], [C3], [H5], [E10], [H11], [C18])
    If Not Intersect(Target, Libere) Is Nothing Then
        ActiveSheet.Unprotect "123"
    Else
        ActiveSheet.Protect "123"
    End If
    End Sub


    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
  • OFFLINE
    keaton81
    Post: 4
    Registrato il: 10/02/2016
    Città: BOLOGNA
    Età: 42
    Utente Junior
    excel 2016
    00 13/02/2016 11:02
    Re:
    rollis13, 11/02/2016 23:38:

    Adesso mi è più chiaro; quando attivi la protezione, se vuoi poter operare sulla formattazione delle celle libere, devi lasciare le spunte solo su: "seleziona celle sbloccate" e "formato celle".
    Inoltre, non è necessario impostare la password a meno di voler/dover "blindare" il foglio, basta attivare la protezione.



    ciao Rollis

    hai ragione. non so perché non ho valutato questa opzione. che è la più semplice. grazie mille! [SM=x423030]
  • OFFLINE
    rollis13
    Post: 179
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Junior
    Excel 2016-32bit Win11
    00 13/02/2016 11:49
    Ahh, adesso capisco perché non capivo [SM=x423018]

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)