Forzare la protezione di un foglio di lavoro (Microsoft Excel)
Barry può bloccare un foglio di lavoro in modo che solo coloro a cui dà 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. Barry si chiede se esiste un modo in cui, durante il salvataggio del foglio di lavoro, Excel possa ricordare all’utente di proteggere ancora una volta 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 venga utilizzata la stessa password per proteggere nuovamente il foglio di lavoro quando la cartella di lavoro viene salvata. Questa operazione viene eseguita facilmente utilizzando una macro che può essere collegata all’evento BeforeSave. Questa macro dovrebbe essere aggiunta all’oggetto ThisWorkbook:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Sheets("ABC").Protect ("XYZ") End Sub
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 protegge automaticamente il foglio di lavoro ogni volta che viene salvata la cartella di lavoro. 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 chiederà se il foglio di lavoro deve essere nuovamente protetto:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If MsgBox("Reprotect Sheet ABC?", vbYesNoCancel) = vbYes Then Sheets("ABC").Protect ("XYZ") End If End Sub
Naturalmente, questo approccio significa che è possibile che un foglio di lavoro non venga protetto di nuovo, se l’utente sceglie di non proteggerlo nuovamente.
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 sta facendo Barry), non è possibile modificare nulla nel foglio di lavoro senza la password.
A partire da Excel 2002 puoi effettivamente proteggere singoli intervalli di celle all’interno di un foglio di lavoro. Segui questi passaggi:
-
Scegliere Protezione dal menu Strumenti e quindi scegliere Consenti agli utenti di modificare gli intervalli. Excel visualizza la finestra di dialogo Consenti agli utenti di modificare gli intervalli.
(Vedi figura 1.)
-
Fare clic sul pulsante Nuovo. Excel visualizza la finestra di dialogo Nuovo intervallo. (Vedi figura 2.)
-
Nella casella Titolo, inserisci il nome che desideri utilizzare per questo intervallo.
-
Nella casella Si riferisce a celle, inserisci l’intervallo che desideri che gli utenti possano modificare. (Se ci sono più intervalli che desideri utilizzare con la stessa password, puoi separarli con una virgola.)
-
Nella casella Range Password, inserisci la password che desideri fornire ai tuoi utenti.
-
Fare clic su OK. Ti viene nuovamente chiesto di inserire la password.
-
Immettere una seconda volta la password utilizzata al passaggio 5. L’intervallo viene ora visualizzato nella finestra di dialogo Consenti agli utenti di modificare gli intervalli.
-
Fare clic su OK per chiudere la finestra di dialogo Consenti agli utenti di modificare gli 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 9). Poiché non hai sbloccato nessuna 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 4, gli viene richiesta la password specificata nel passaggio 5. Quando lo 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 per l’intero foglio di lavoro. Quando l’utente chiude e riapre la cartella di lavoro, il foglio di lavoro è ancora protetto, proprio come necessario. Inoltre, non hai l’inevitabile svantaggio delle macro: che possono essere disabilitate da un utente quando apre la cartella di lavoro.
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (11972) si applica a Microsoft Excel 97, 2000, 2002 e 2003.
Puoi trovare una versione di questo suggerimento per l’interfaccia a barra multifunzione di Excel (Excel 2007 e versioni successive) qui: