Domanda.

nome=Giacomo
cognome=Rota
versione=XP
conosco2=medio
email=giacomorota@hotmail.com
chri=210
problema=Ciao, avrei bisogno del tuo aiuto: ho costruito un semplice foglio di excel, personalizzato per ogni
collega del mio ufficio che all'interno contiene più cartelle, precisamente 12, una per mese solare.
Per non permettere modifiche ho protetto per ogni singolo foglio,e già questo è stato un lavoraccio, adesso però mi trovo a doverlo modificare nuovamente pertanto ti chiedo se esiste un modo di proteggere e sproteggere in un'unica volta tutti i fogli di un file senza dover eliminare e re-impostare la password ogni
volta.
Mentre ti scrivo sto muovendo i miei primi passi con macro (e qualche pasticcio lo ho già fatto - tutte le volte che apro un file mi si apre una cartella start.xls, che non riesco a eliminare) e con VBA.
Ti ringrazio in anticipo per l'aiuto.
Giacomo
 

Risposta.

ciao Giacomo, puoi creare 2 macro, una per proteggere e una per sproteggere, queste le due macro dove ti ho previsto una password via codice, ed agisce su tutti i fogli della cartella:
Sub proteggi()
For Each w In Worksheets
w.Protect Password = "pippo"
Next w
End Sub


Sub sproteggi()
For Each w In Worksheets
w.Unprotect Password = "pippo"
Next w
End Sub


Al posto di "pippo" metterai la tua password. Se invece non ti interessa usare una password togli dalle due macro
Password = "pippo"
La password così inserita (nel codice) è intercettabile da Strumenti/Protezione/Sproteggi Foglio, dopo che avrai salvato ed alle successive aperture. Solo che così, dopo, chiunque, premendo il pulsante associato a sproteggi, potrà togliere la protezione senza nessuna richiesta di password. Se invece vuoi che per sproteggere venga richiesta, una sola volta per tutti i fogli, la password, bisogna usare queste istruzioni:
Sub sproteggiconpass()
dimmi = InputBox("INSERISCI PASSWORD")
If dimmi = "" Then Exit Sub
If dimmi = "pippo" Then
For Each w In Worksheets
w.Unprotect Password:=dimmi
Next w
End If
End Sub

saluti, ennius