Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

macro per bloccare sbloccare più fogli excel

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

macro per bloccare sbloccare più fogli excel

Postdi martin » 30/04/09 02:06

salve a tutti
uso questa macro suggerita a suo tempo da Anthony per un mio programma composto da 200 pag che blocco e sblocco tranquillamente.

Sub protectall()
For i = 1 To 200
Sheets(i).Protect Password = "xxx"
Next i
End Sub

ultimamente ho fatto una copia di questo programma aggiungendo una macro che cambia colore ad alcune celle se è
presente un dato specifico.
Questa macro però non funziona perchè la cella in uso pur se sbloccata (quindi libera) non permette di modificare il formato celle.
Ma basta andare singolarmente pagina per pagina in proteggi foglio e spuntare "formato celle" e "seleziona celle sbloccate" e bloccare quindi il foglio con password , tutto va ok...

Ma se voglio fare tutto in automatico per le 200 pagine con la macro di cui sopra , mi accetta sola la spunta "seleziona celle sbloccate" e no quella formato celle .Quindi pur essendo le celle libere non funziona l'altra macro di cambio colore.

poi ho notato che stranamente in una altra copia non riesco neanche in automatico a far accettare la spunta seleziona celle sbloccate.

dipenderà da come si è partiti nella creazine delle pagine quando l'ho creato ?
o c'è qualcosa che mi sfugge ???
(poi se mi potete suggerire una formula per cambio colore determinate celle a una condizione, senza macro risolvo lo stesso)

ciao e grazie

ciao Anthony !!
martin
Utente Senior
 
Post: 108
Iscritto il: 03/12/08 17:04

Sponsor
 

Re: macro per bloccare sbloccare più fogli excel

Postdi Flash30005 » 30/04/09 13:20

Se metti una password di protezione foglio è chiaro che non riesci a modificare le celle bloccate ma prima di entrare in modifica devi sproteggere il/i fogli con una routine di sprotezione tipo
Codice: Seleziona tutto
Sub Unprotectall()
For i = 1 To 200
Sheets(i).UnProtect Password = "xxx"
Next i
End Sub

per poi, a fine elaborazione richiamare la tua macro di protezione foglio

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: macro per bloccare sbloccare più fogli excel

Postdi martin » 30/04/09 13:53

Flash30005 ha scritto:Se metti una password di protezione foglio è chiaro che non riesci a modificare le celle bloccate ma prima di entrare in modifica devi sproteggere il/i fogli con una routine di sprotezione tipo
Codice: Seleziona tutto
Sub Unprotectall()
For i = 1 To 200
Sheets(i).UnProtect Password = "xxx"
Next i
End Sub

per poi, a fine elaborazione richiamare la tua macro di protezione foglio

ciao


ciao flash
grazie per la risposta ma non hai afferrato il mio problema!!!

la macro protect e unprotect vanno ok li conosco gia

il pro sta che quando metto in protezione il foglio alcune celle li lascio libere per inserire i dati.
la macro di cambio colore deve funzionare su queste celle libere da blocco.
ma non funziona perche pur essendo libere quando il foglio è in protezione non accetta variazioni proprieta cella ma solo dati.
se si va in proteggi foglio prima di inserire la password hai la possibilita di spuntare delle condizioni da fare anche a foglio bloccato.
se queste li faccio singolarmente (sono 200 pag!) funziona perche quado attivo la macro il foglio pur bloccato ha la cella
libera e dato che ho impostato la possibilita di modifica proprieta cella , la macro funziona.
ma se uso la macro protec e unprotec in automatico non mi memorizza la condizione di variazione proprieta, e quindi la cella pur libera non funziona per cambio colore.
pure che faccia manualmente foglio per foglio per 200, se capita un problema di cambiare qualcosa sono costretto a fare
nuovamente blocca e sblocca pag per pagina.
ho provato anche a mettere pima della macro di cambio colore la macro di sblocco cella ma mi perde troppo tempo
perche mi sblocca tutte 200 pagine e poi me li riblocca ed è snervante poi diventa pericoloso quell'attimo di sblocco foglio perche se involontariamente tocco un tasto mi puo saltare qualche formula.

se no ti è chiaRO Chiamami grazie
martin
martin
Utente Senior
 
Post: 108
Iscritto il: 03/12/08 17:04

Re: macro per bloccare sbloccare più fogli excel

Postdi Anthony47 » 30/04/09 14:13

In fase di "protect" devi consentire la formattazione delle celle; cambia l' istruzione centrale in
Codice: Seleziona tutto
Sheets(I).Protect Password:="xyz", AllowFormattingCells:=True, AllowFormattingColumns:=True, AllowFormattingRows:=True

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro per bloccare sbloccare più fogli excel

Postdi martin » 30/04/09 15:55

Anthony47 ha scritto:In fase di "protect" devi consentire la formattazione delle celle; cambia l' istruzione centrale in
Codice: Seleziona tutto
Sheets(I).Protect Password:="xyz", AllowFormattingCells:=True, AllowFormattingColumns:=True, AllowFormattingRows:=True

Ciao.


okkkkkkkkkkkkk !!! :lol: perfetto!
ciao e grazie tante
martin
Utente Senior
 
Post: 108
Iscritto il: 03/12/08 17:04

Re: macro per bloccare sbloccare più fogli excel

Postdi Dany170 » 11/02/13 18:57

Salve a tutti
Ho utilizzato con successo le macro sotto suggerite per bloccare/ sbloccare contemporanemente molti fogli di uno stesso file Excel 2010.
Ho associato due pulsanti : uno per il blocco e uno per lo sblocco. Questi pulsanti sono posizionati nell'intestazione del primo foglio.
Ora vorrei che al click del solo PULSANTE di SBLOCCO venga chiesta la Password prima di sbloccare i fogli, quindi che compaia la classica finestra di richiesta Password.

Grazie per il momento.
Ciao

Macro1
Sub protectall()
For i = 1 To 200
Sheets(i).Protect Password = "xxx"
Next i
End Sub
Macro2
Sub Unprotectall()
For i = 1 To 200
Sheets(i).UnProtect Password = "xxx"
Next i
End Sub
Dany
Win7 + Excel 2010, Word 2010 Ita
Dany170
Newbie
 
Post: 1
Iscritto il: 11/02/13 18:28

Re: macro per bloccare sbloccare più fogli excel

Postdi Flash30005 » 11/02/13 20:43

Ciao Dany170 e benvenuto nel Forum
puoi usare l'InputBox in questa maniera
Codice: Seleziona tutto
Sub Unprotectall()
myPass = Application.Inputbox("Digita la Password")
If myPass = "xxx" Then
    For i = 1 To Worksheets.Count
        Sheets(i).Unprotect Password = "xxx"
    Next i
End If
End Sub


Nel ciclo For next ho inserito il codice to "Worksheets.Count" perché se i fogli sono di meno o più di 200
non rischi di avere errore o non sproteggerli tutti
Worksheets.count applica a tutti i fogli nella cartella da 1 a 1000 (e oltre) in quanto "conta" i fogli esistenti
(Stessa cosa la puoi applicare per la protezione)
ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-


Torna a Applicazioni Office Windows


Topic correlati a "macro per bloccare sbloccare più fogli excel":


Chi c’è in linea

Visitano il forum: Nessuno e 20 ospiti