Come proteggere / non proteggere un foglio utilizzando vba?
In VBA esiste il metodo PROTECT che puoi utilizzare con un foglio. In questo metodo hai la possibilità di proteggere un foglio, con o senza password. E puoi anche proteggere un oggetto dal foglio. Vedremo tutto questo nel dettaglio in questo tutorial.
Nel tutorial vedremo come proteggere e sproteggere un singolo foglio o più fogli utilizzando codice VBA.
Scrivi il codice VBA per proteggere un foglio
Per proteggere un foglio, è necessario prima specificare il foglio e poi utilizzare il metodo di protezione. Ecco i passaggi.
- Utilizzare l’oggetto fogli per specificare il foglio.
- Inserisci il nome del foglio che desideri proteggere.
- Digitare un punto per ottenere un elenco di metodi e proprietà.
- Seleziona il metodo di progetto o inseriscilo.
Sheets("Sheet1").Protect
Link utili: Esegui una macro – Registratore di macro – Visual Basic Editor – Manuale delle macro personali
Scrivi il codice VBA per rimuovere la protezione di un foglio
Per proteggere un foglio, è necessario prima specificare il foglio e quindi utilizzare il metodo di sprotezione. Ecco i passaggi.
- Specificare il foglio utilizzando l’oggetto di lavoro.
- Quindi, inserisci il nome del foglio che desideri proteggere.
- Immettere un punto per ottenere un elenco di metodi e proprietà.
- Seleziona il metodo “Rimuovi protezione” o inseriscilo.
Sheets("Sheet1").Unprotect
Proteggi un foglio con una password
Se desideri impostare una password proteggendo un foglio, in questo caso devi utilizzare l’argomento password per specificare una password. Supponiamo di voler impostare una password “test123” sul foglio per proteggerlo, il codice sarebbe come quello qui sotto.
Sheets("Sheet1").Protect Password:="test123"
Rimuovere la protezione di un foglio con una password
Allo stesso modo, se vuoi rimuovere la protezione di un foglio, devi menzionare la password nell’argomento password. Supponiamo che la password utilizzata per proteggere il foglio sia “ADSBP”, quindi il codice per rimuoverlo dalla protezione sarebbe come di seguito.
Sheets("Sheet1").Unprotect Password:="ADSBP"
C’è una cosa a cui devi stare attento, presta attenzione alla lettera maiuscola perché VBA distingue tra lettere maiuscole e minuscole.
Altre cose da sapere
Come ho detto, stiamo utilizzando il metodo “Proteggi” di VBA e ci sono argomenti diversi da “Password” con questo metodo che puoi utilizzare.
expression.Protect (Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly, AllowFormattingCells, AllowFormattingColumns, AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows, AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows, AllowSorting, AllowFiltering, AllowUsingPivotTables)
- DrawingObjects : per proteggere e rimuovere la protezione delle forme.
- Contenuto : per proteggere le celle bloccate e l’intero grafico.
- Scenari : per proteggere gli scenari nel foglio di calcolo.
- UserInterfaceOnly : per proteggere solo l’interfaccia utente, non le macro.
- EnableFormattingCells : per consentire all’utente di applicare la formattazione alle celle.
- EnableFormattingColumns : per consentire all’utente di applicare la formattazione alle colonne.
- EnableFormattingRows : per consentire all’utente di applicare la formattazione alle righe.
- PermettiInsertingColumns : per consentire all’utente di inserire nuove colonne.
- EnableInsertingRows : per consentire all’utente di inserire nuove righe.
- EnableInsertingHyperlinks : per consentire all’utente di creare collegamenti ipertestuali.
- EnableDeletingColumns : per consentire all’utente di eliminare le colonne.
- PermetteDeletingRows : per consentire all’utente di eliminare righe.
- Consenti ordinamento : per consentire all’utente di ordinare righe, colonne e tabelle.
- EnableFiltering : per consentire il filtraggio delle colonne.
- ConsentiUsingPivotTables : per consentire all’utente di utilizzare una tabella pivot.
Commenti
- Assicurati di utilizzare password complesse che combinino lettere maiuscole e minuscole, numeri e simboli.
- Se dimentichi la password, Microsoft non potrà recuperarla. Quindi, assicurati di annotare la tua password da qualche parte in un luogo sicuro.
- Se un foglio è protetto senza password e ora desideri proteggerlo con una password, devi prima rimuoverlo dalla protezione. E poi riproteggilo con una password usando il codice che hai visto sopra.