Ir ao conteúdo
  • Cadastre-se
Diego Dias Alano

Proteger todas as planilhas no excel a partir de macro com critérios

Recommended Posts

Boa tarde, segue mais uma dúvida em uma macro que preciso criar.

Preciso que ao inciar meu arquivo excel, as planilhas já iniciem bloqueadas para que não possam mexer nas mesmas... porém como são várias encontrei uma macro que faz isso, porém preciso que as planilhas possam utilizar as funções Classificar e Usar AutoFiltro, a macro que estou utilizando é a seguinte:

_______________________________

Private Sub Workbook_Open()
    Const Senha As String = "12345**"

For Each Sheet In Worksheets
    On Error Resume Next
    Sheet.Protect Senha
Next

....

_______________________________

Então preciso incluir dentro destes critérios habilitar Classificar e habilitar Usar AutoFiltro.

 

Fico no aguardo.

Muito obrigado

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Diego Dias Alano Recomendo que você faça isso de uma outra forma.

 

Não use VBA para colocar senha em sua planilha, use a própria ferramenta do Excel para proteger e marque a opção para filtrar e classificar.

 

Acredito que dessa forma seria mais fácil!

Compartilhar este post


Link para o post
Compartilhar em outros sites

@JorgeSouza Num primeiro momento até utilizei a ferramenta do excel, porém é um arquivo com mais de 50 planilhas, as quais monitoro e preciso mexer diariamente... preciso sempre desbloquear, usar e bloquear... então um módulo de macro me ajudaria em muito, ao invés de fazer o processo uma a uma... é bastante trabalhoso com a ferramenta do excel.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Diego Dias Alano da forma que voce quer fazer o autoFiltro até irá funcionar, mas a opçõa Classificar vai depender de se as celulas que deseja classificar poderão ficar desprotegidas, caso contrario esta opção ficará disponivel, mas o excel apresentará msg que as celulas estão bla bla bla..... 

Veja o exemplo:

 

Private Sub Workbook_Open()
Dim sheet As Worksheet
    Const Senha As String = "12345**"
    For Each sheet In Worksheets
        On Error Resume Next
        With sheet
            .Protect Senha, AllowFiltering:=True, AllowSorting:=True
            .EnableSelection = xlUnlockedCells
        End With
    Next
End Sub

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×