Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Mettere protezione a fogli excel 2003 con VBA tranne ad alc

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

Mettere protezione a fogli excel 2003 con VBA tranne ad alc

Postdi trittico69 » 03/05/11 23:06

Questo codice, oltre a fare la sua funzione, alla fine mette la protezione(senza password) a 12 fogli
GEN-FEB-MAR-APR-MAG-GIU-LUG-AGO-SET-OTT-NOV-DIC ma vorrei escludere delle celle dove non voglio la protezione…e sono I8-M9-J12-O12-O9 e la colonna B di tutti i fogli elencati
Poi del primo foglio che si chiama RIEP mettere la protezione anche qui e escludere le cele da C2:C5;J3:J14;A32-A33-A43-A44-C7-D2-A19
L’ultimo foglio si chiama “codici servizi” ma qui non bisogna agire.
Mi aiutate?
Grazie!

Codice: Seleziona tutto
Sub NascondirigheVuote() 'nasconde righe e colonne

Dim ff As Integer
Dim rr As Integer
For ff = 2 To 13
If Worksheets(ff).Name <> "Riep" Then
Worksheets(ff).Select
For rr = 57 To 14 Step -1
    If Val(Range("A" & rr)) = 0 Then Rows(rr & ":" & rr).EntireRow.Hidden = True
    Range("K:L,P:AW").EntireColumn.Hidden = True
Next rr
End If
Sheets(ff).Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Next ff
End Sub
trittico69
Utente Senior
 
Post: 487
Iscritto il: 16/08/09 18:41

Sponsor
 

Re: Mettere protezione a fogli excel 2003 con VBA tranne ad

Postdi Anthony47 » 03/05/11 23:42

Il mio suggerimento e' che modifichi il ciclo For ff=2 to 12 / Next ff in
Codice: Seleziona tutto
For ff=1 to ActiveWorkbook.Worksheets.Count
' istruzioni
Next ff
Poi al posto della Sheets(ff).Protect etc etc crei una struttura Select Case /End Select in cui spieghi foglio per foglio che operazione vuoi compiere. Qualcosa come
Codice: Seleziona tutto
Select Case ActiveSheet.Name
Case "GEN", "FEB", "MAR"   ' e cosi' via fino a  "DIC"
'cosa fare prima di proteggere il foglio
Sheets(ff).Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
'
Case "RIEP"
'cosa fare prima di proteggere il foglio
Sheets(ff).Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
'
Case "codici servizi"
'cosa fare; niente=nessuna istruzione
End Select

Nell' altro post (vedi viewtopic.php?f=26&t=91461&p=521931#p521931) ti ho spiegato come puoi escludere certe celle dalla protezione.

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


Torna a Applicazioni Office Windows


Topic correlati a "Mettere protezione a fogli excel 2003 con VBA tranne ad alc":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti