none
Desbloquear determinadas celulas numa planilha protegida RRS feed

  • Pergunta

  • Bom dia.

    Tenho uma planilha protegida, e para poder digitar dados em determinadas celulas, usei a rotina abaixo para desbloquear, sem problemas. No exemplo usei uma For Next com Union para desbloquear as celulas de A1 ate A110.

    Sub desbloquear1()
    Dim i As Integer
    Dim n As Integer
    Dim Todos As Range
    i = 1
    n = 110
    For i = 1 To n
     If Todos Is Nothing Then
            Set Todos = Cells(i, 1)
    Else
            Set Todos = Union(Todos, Cells(i, 1))
            End If
    Next i
    
    ActiveSheet.Unprotect
    Todos.Locked = False
    ActiveSheet.Protect
    End Sub

    Porem o que desejo desbloquear, nao sao celulas continuas, entao renomeei as celulas com nome inicial de "Ticar" & 1 ate 110 e coloquei um contador no For Next de 1 a 110 como mostra abaixo

    Sub desbloquear2()
    Dim i As Integer
    Dim n As Integer
    Dim Todos As Range
    i = 1
    n = 110
    For i = 1 To n
     If Todos Is Nothing Then
            Set Todos = Range("Ticar" & i)
    Else
            Set Todos = Union(Todos, Range("Ticar" & i))
    End If
    Next i
    ActiveSheet.Unprotect
    Todos.Locked = False
    ActiveSheet.Protect
    End Sub

    ..... e parou na linha de codigo :

    Todos.Locked = False

    Notei tambem que se colocar o n ate 17, nao da problema, mas se colocar acima de 17 a rotina para.

    Alguem saberia porque?

    Nao queria usar o Select...selection..., mas se mudar o final para :

    ActiveSheet.Unprotect
    Todos.Select
    Selection.Locked=False
    Activesheet.Protect

    ....dai funciona, nao sei o porque. Alguem sabe o porque acontece isso?

    Agradeco desde ja um retorno.

    Tadao



    domingo, 27 de janeiro de 2019 09:25