Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Si può con un comando unico disattivare/attivare la password su più fogli della stassa cartella? la psw ovviamente è la stessa per tutti i fogli protetti. Vorrei evitare di ripetere in ogni macro tutti i passaggi per disattivare/attivare psw dei fogli interessati. Grazie mille e un saluto a tutti.
Ciao
Antonio
In un modulo standard:
Public Sub mMettiPassword()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
sh.Protect Password:="tuaPassword"
Next
Set sh = Nothing
End Sub
Public Sub mTogliPassword()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
sh.Unprotect Password:="tuaPassword"
Next
Set sh = Nothing
End Sub
Aggiungo: quanto sopra lo fa *per tutti i fogli*. Se nel tuo workbook(file) hai solo alcuini fogli da proteggere/sproteggere contemporaneamente, vedi qui sotto:
Public Sub mMettiProtezione()
Dim shArray As Sheets
Dim sh As Worksheet
On Error GoTo RigaErrore
Set shArray = Worksheets(Array("Foglio2", "Foglio5"))
For Each sh In shArray
sh.Protect Password:="tuaPassword"
Next
RigaChiusura:
Set shArray = Nothing
Exit Sub
RigaErrore:
MsgBox Err.Number & vbNewLine & Err.Description
Resume RigaChiusura
End Sub
Public Sub mTogliProtezione()
Dim shArray As Sheets
Dim sh As Worksheet
On Error GoTo RigaErrore
Set shArray = Worksheets(Array("Foglio2", "Foglio5"))
For Each sh In shArray
sh.Unprotect Password:="tuaPassword"
Next
RigaChiusura:
Set shArray = Nothing
Exit Sub
RigaErrore:
MsgBox Err.Number & vbNewLine & Err.Description
Resume RigaChiusura
End Sub
Cambia i riferimenti ai nomi dei fogli(nell'esempio Foglio2 e Foglio5) dell'array con i tuoi. Fai sapere se risolvi, grazie.
--
La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.
--
Mauro Gamberini - Microsoft© MVP(Excel)