Andre ha una cartella di lavoro che contiene 52 fogli di lavoro. Vorrebbe proteggere i fogli di lavoro, ma non la cartella di lavoro stessa. Attualmente protegge individualmente tutti i 52 fogli. Si chiede se c’è un modo per proteggerli tutti in una volta.

L’unico modo per farlo è usare una macro. Fortunatamente, la macro è piuttosto breve:

Sub ProtectAllSheets()

Dim ws As Worksheet

For Each ws In Worksheets         ws.Protect     Next End Sub

Quando si esegue questa macro, tutti i fogli di lavoro nella cartella di lavoro sono protetti, senza specificare una password. (Questo significa che chiunque può facilmente rimuovere la protezione.) Se vuoi specificare una password, puoi farlo con una semplice modifica:

Sub ProtectAllSheets()

Dim ws As Worksheet

For Each ws In Worksheets         ws.Protect Password:="MyPassword"

Next End Sub

La password specificata verrà utilizzata per ciascuno dei fogli di lavoro, il che significa che tutti useranno la stessa password.

Puoi facilmente modificare queste macro per rimuovere la protezione da tutti i tuoi fogli di lavoro semplicemente cambiando il metodo .Protect in .Unprotect.

È inoltre necessario essere consapevoli del fatto che se la cartella di lavoro o i fogli di lavoro utilizzano alcune opzioni che precludono la protezione del foglio di lavoro (come la condivisione), le macro genereranno un errore.

Un approccio completamente diverso consiste nell’utilizzare un’utilità di terze parti per eseguire la protezione. È possibile trovare tali utilità con una rapida ricerca su Internet; un esempio potrebbe essere Asap Utilities (http://www.asap-utilities.com).

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (7511) si applica a Microsoft Excel 2007, 2010, 2013 e 2016.