Rimozione della protezione di gruppi di fogli di lavoro (Microsoft Excel)
Excel consente di proteggere e rimuovere la protezione dei fogli di lavoro. Lo scopo, ovviamente, è quello di consentire ad altri di utilizzare la tua cartella di lavoro, ma non di modificare determinate celle all’interno di ogni foglio di lavoro.
Poiché la protezione viene eseguita a livello di foglio di lavoro, può essere difficile passare attraverso ogni foglio di lavoro in una cartella di lavoro e proteggerli o non proteggerli. Se si dispone di 25 fogli di lavoro, è necessario attivare ogni foglio di lavoro, eseguire la protezione o la rimozione della protezione e passare a quello successivo.
Un metodo meno dispendioso in termini di tempo per proteggere ogni foglio di lavoro in una cartella di lavoro consiste nell’utilizzare una macro per svolgere il lavoro effettivo. La seguente macro farà il trucco:
Sub ProtectAllSheets() Dim ws As Worksheet Dim sOrigSheet As String Dim sOrigCell As String Application.ScreenUpdating = False sOrigSheet = ActiveSheet.Name sOrigCell = ActiveCell.Address For Each ws In Worksheets ws.Select ws.Protect Password:="Password" Next ws Application.GoTo Reference:=Worksheets("" _ & sOrigSheet & "").Range("" & sOrigCell & "") Application.ScreenUpdating = True End Sub
La macro per rimuovere la protezione da tutti i fogli di lavoro è solo leggermente diversa:
Sub UnProtectAllSheets() Dim ws As Worksheet Dim sOrigSheet As String Dim sOrigCell As String Application.ScreenUpdating = False sOrigSheet = ActiveSheet.Name sOrigCell = ActiveCell.Address For Each ws In Worksheets ws.Select ws.Unprotect Password:="Password" Next ws Application.GoTo Reference:=Worksheets("" _ & sOrigSheet & "").Range("" & sOrigCell & "") Application.ScreenUpdating = True End Sub
Sebbene queste macro funzioneranno perfettamente, ci sono un paio di avvertenze.
Innanzitutto, è necessario assicurarsi che la variabile Password in ogni macro sia impostata sulla password corretta per i fogli di lavoro. (Ciò presuppone, ovviamente, che tutti i fogli di lavoro utilizzino lo stesso passwords.)
La seconda avvertenza è che poiché la macro deve includere la password, la sicurezza complessiva della cartella di lavoro potrebbe essere compromessa: chiunque sia in grado di visualizzare le macro saprà quali sono le password per le cartelle di lavoro.
Come soluzione a quest’ultimo problema, potresti modificare le macro in modo che chiedano una password da utilizzare nel loro lavoro. La seguente sarebbe la versione della macro che protegge i fogli di lavoro:
Sub ProtectAllSheetsPass() Dim ws As Worksheet Dim sOrigSheet As String Dim sOrigCell As String Dim sPWord As String Application.ScreenUpdating = False sOrigSheet = ActiveSheet.Name sOrigCell = ActiveCell.Address sPWord = InputBox("What password?", "Protect All") If sPWord > "" Then For Each ws In Worksheets ws.Select ws.Protect Password:=sPWord Next ws End If Application.GoTo Reference:=Worksheets("" _ & sOrigSheet & "").Range("" & sOrigCell & "") Application.ScreenUpdating = True End Sub
La macro visualizza una casella di input che richiede la password. La stessa password viene quindi utilizzata per proteggere ogni foglio di lavoro nella cartella di lavoro. Lo stesso tipo di modifica può essere apportata alla macro che rimuove la protezione di tutti i fogli 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 (13075) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per l’interfaccia del menu precedente di Excel qui: