Celle bloccate



  • Celle bloccate
    di marxitpa data: 21/03/2014 11:08:01

    In un foglio ho diverse celle impostate come bloccate in formato-celle-protezione.

    Con la macro "Sblocca" sblocco tutte le celle e procedo di volta in volta con le operazioni che mi interessano in tutte le celle (bloccate o non).

    Con la macro "celleBloccate" Blocco le celle del foglio, volendo bloccare solo quelle che avevo scelto in protezione.

    Purtroppo si verifica che quando vado ad operare in celle (non in tutte) che in formato-celle-protezione NON erano bloccate, mi viene segnalato che la cella è protetta e di sola lettura.

    non riesco a capire cosa succede. Qualcuno mi aiuta?

     
    Sub Sblocca()
    '
        ActiveSheet.Unprotect
    End Sub
    ' =====================================
    Sub celleBloccate()
    '
    Dim c As Range
    For Each c In Selection
    If c.Locked = False Then
    c.Interior.ColorIndex = 6
    End If
    Next
    
    End Sub



  • di Vecchio Frac data: 21/03/2014 13:50:59

    cit. "Con la macro "celleBloccate" Blocco le celle del foglio"
    ---> Ma il pezzo di codice che hai fatto vedere non esegue un Activesheet.Protect quindi non blocca niente.
    Comunque la impostazione "cella bloccata" non dovrebbe essere influenzata da operazioni che fai col foglio sbloccato, quindi dovresti assicurarti che tali impostazioni non vengano modificate dopo lo sblocco.







  • di Lucas87 data: 21/03/2014 14:08:05

    Suggerimento:
    Invece di sbloccare e bloccare il foglio ad ogni operazione potresti mettere il codice sotto in ThisWorkbook per l'evento Open.
    Così il foglio sarà protetto da modifiche manuali, ma comunque sarà possibile fare le varie operazioni tramite codice
     
    Worksheets("tuo_foglio").Protect , userinterfaceonly:=True
    



  • di marxitpa data: 21/03/2014 16:32:46

    chiedo scusa ... (sono rinc******to).
    Il codice 'Blocca' è quello riportato ora.
     
    Sub Blocca()
    ' Blocca Macro
        ActiveWindow.SmallScroll ToRight:=-10
        ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
            False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
            AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
            :=True, AllowSorting:=True
    End Sub



  • di mabolsie (utente non iscritto) data: 21/03/2014 20:17:22

    Ciao max... secondo me quello che vuoi fare non è possibile a livello codice in quanto i comandi activesheet.protect ed unprotect agiscono su tutto il foglio attivo.
    Ti consiglierei la soluzione di Lucas87.
    Magari metti una password per sbloccare il foglio in apertura in modo che solo tu abbia accesso alle modifiche.

    Ciao Max



  • di marxitpa data: 21/03/2014 21:07:59

    Grazie, ho seguito il consiglio di Lucas87.