Brando può bloccare un foglio di lavoro in modo che solo coloro a cui fornisce la password possano modificarlo. Se la persona immette la password, apporta modifiche e quindi salva la cartella di lavoro contenente il foglio di lavoro, tale foglio di lavoro non è protetto. Brando si chiede se esista un modo in cui, durante il salvataggio del foglio di lavoro, Excel può ricordare all’utente di proteggere nuovamente il foglio di lavoro utilizzando la stessa password originariamente utilizzata.
Esistono diversi modi per risolvere questo problema. Se hai assegnato una password a un foglio di lavoro, devi semplicemente assicurarti che la stessa password venga utilizzata per riproteggere il foglio di lavoro quando la cartella di lavoro viene salvata oppure prima che venga chiusa. Questa operazione viene eseguita facilmente utilizzando una macro che può essere collegata all’evento BeforeSave. Questa macro dovrebbe essere aggiunta all’oggetto Questa_cartella_di_lavoro:
Questo contenuto è riservato agli abbonati
Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.
Se sei già abbonato Accedi per sbloccare il contenuto!
In caso contrario abbonati qui! L'abbonamento è conveniente.
E puoi interromperlo in ogni momento e in completa autonomia.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)
Questo esempio presuppone che il foglio di lavoro che si desidera proteggere sia denominato ABC e che la password utilizzata per proteggere il foglio di lavoro sia XYZ. Ti consigliamo di modificare questi valori per riflettere il foglio di lavoro e la password effettivi.
Si noti che questa macro riprotegge automaticamente il foglio di lavoro ogni volta che la cartella di lavoro viene salvata. Pertanto, se un utente ha una lunga sessione di lavoro con il foglio di lavoro e salva la cartella di lavoro molte volte durante quella sessione, dovrà rimuovere la protezione del foglio di lavoro abbastanza spesso. Se preferisci, puoi creare una macro che ti chiederà se il foglio di lavoro deve essere riprotetto:
Questo contenuto è riservato agli abbonati
Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.
Se sei già abbonato Accedi per sbloccare il contenuto!
In caso contrario abbonati qui! L'abbonamento è conveniente.
E puoi interromperlo in ogni momento e in completa autonomia.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)
Naturalmente, questo approccio significa che è possibile che un foglio di lavoro non venga protetto nuovamente, se l’utente sceglie di non riproteggerlo.
In alternativa, potresti usare l’evento BeforeClose. In questo modo il foglio verrebbe protetto solo quando la cartella di lavoro venisse chiusa:
Questo contenuto è riservato agli abbonati
Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.
Se sei già abbonato Accedi per sbloccare il contenuto!
In caso contrario abbonati qui! L'abbonamento è conveniente.
E puoi interromperlo in ogni momento e in completa autonomia.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)
Un altro approccio non prevede affatto l’utilizzo di macro, ma utilizza un modo diverso per eseguire la protezione. Nella protezione tradizionale del foglio di lavoro, formatti le singole celle come sbloccate, quindi applichi la protezione al foglio di lavoro in modo che le celle bloccate non possano essere modificate. Se non contrassegni nessuna cella come sbloccata (che sembra essere ciò che Barry sta facendo), allora nulla nel foglio di lavoro può essere modificato senza la password.
Excel in realtà ti consente di proteggere singoli intervalli di celle all’interno di un foglio di lavoro. Segui questi passaggi:
- Visualizza la scheda Revisione della barra multifunzione.
- Fai clic su Consenti modifica intervalli. Excel visualizza la finestra di dialogo Consenti agli utenti la modifica degli intervalli.
- Fai clic sul pulsante Nuovo. Excel visualizza la finestra di dialogo Nuovo intervallo.
- Nella casella Titolo immetti il nome che desideri utilizzare per questo intervallo.
- Nella casella Riferito a celle immetti l’intervallo che desideri consentire agli utenti di modificare (se sono presenti più intervalli in cui si desidera utilizzare la stessa password, è possibile separare tali intervalli con una virgola).
- Nella casella Password dell’intervallo, inserisci la password che vuoi dare ai tuoi utenti.
- Fai clic su OK. Ti viene nuovamente chiesto di inserire la password.
- Immetti la password utilizzata nel passaggio 6 una seconda volta. L’intervallo viene ora visualizzato nella finestra di dialogo Consenti agli utenti la modifica degli intervalli.
- Fai clic su OK per chiudere la finestra di dialogo Consenti agli utenti la modifica degli intervalli.
- Proteggi il tuo foglio di lavoro come faresti normalmente.
C’è solo una cosa che devi ricordare quando proteggi il tuo foglio di lavoro (passaggio 10). Poiché non hai sbloccato alcuna cella, tutte le celle nel foglio di lavoro saranno protette. È necessario assicurarsi che la protezione applicata consenta di selezionare le celle bloccate. Se, dopo che il foglio di lavoro è stato protetto, un utente tenta di modificare una cella che si trova nell’intervallo specificato nel passaggio 5, gli viene chiesta la password specificata nel passaggio 6. Quando la fornisce, può apportare modifiche a qualsiasi cella nell’intervallo.
La cosa interessante di questo approccio è che la protezione del foglio di lavoro non viene rimossa: il foglio di lavoro è ancora protetto perché l’utente non ha mai rimosso quella protezione. Pertanto, l’utente non ha mai bisogno di conoscere la password dell’intero foglio di lavoro. Quando l’utente chiude e riapre la cartella di lavoro, il foglio di lavoro è ancora protetto, proprio come ti serve. Inoltre, non hai l’inevitabile svantaggio delle macro: possono essere disabilitate da un utente quando apre la cartella di lavoro.