Página 1 de 1

Planilha protegida por senha (macro para limpar os filtros sem altear as permissões por usuário)

Enviado: 25 Mar 2021 às 12:57
por RTE
Pessoal, boa tarde.

Segue problema para contextualização:
Estou desenvolvendo uma planilha que será utilizada por vários usuários. A mesma está protegida por senha e permite a função de auto filtro para que os usuários possam filtrar as informações na planilha sem a necessidade de desproteger.

Porém, com a planilha protegida, não é possível limpar todos os filtros por meio da aba de "DADOS", o que obriga o usuário a "limpar" individualmente os filtros de cada coluna ou desproteger a planilha.

Desenvolvi uma macro, com o código a baixo, que desbloqueia a planilha + limpa todos os filtros + bloqueia a planilha. Porém, após executar a macro, a planilha é bloqueada SEM a opção de AUTO FILTRO. Logo, não é possível filtrar as colunas com a planilha protegida.

Sub Limpar_Filtros()

ActiveSheet.Protect Password:="SENHA", userinterfaceonly:=True

If ActiveSheet.FilterMode Then
On Error Resume Next
ActiveSheet.ShowAllData
On Error GoTo 0
End If

ActiveSheet.Protect Password:="SENHA"

End Sub

Pergunta: O que eu posso alterar no código da minha MACRO, para que eu possa executá-la sem altear as minhas permissões por usuário? Por exemplo, que o AUTOFILTRO fique ativo?

Re: Planilha protegida por senha (macro para limpar os filtros sem altear as permissões por usuário)

Enviado: 30 Mar 2021 às 10:56
por JCabral
Tente assim:
Código: Selecionar todos
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True, Password:="SENHA"

Re: Planilha protegida por senha (macro para limpar os filtros sem altear as permissões por usuário)

Enviado: 30 Mar 2021 às 13:45
por osvaldomp
RTE escreveu: 25 Mar 2021 às 12:57 Desenvolvi uma macro, com o código a baixo, que desbloqueia a planilha + limpa todos os filtros + bloqueia a planilha.
Este comando não desprotege a planilha.~~~> ActiveSheet.Protect Password:="SENHA", userinterfaceonly:=True.
Ao invés, ele a protege, caso não esteja protegida.

Esse comando apenas permite que alterações via macro sejam efetuadas em planilha protegida, sem desprotegê-la.

Para proteger habilitando Auto Filtro você pode substituir por este ~~~> ActiveSheet.Protect Password:="SENHA", AllowFiltering:=True, userinterfaceonly:=True

E o comando abaixo pode ser excluído pois ele está protegendo uma planilha já protegida.
ActiveSheet.Protect Password:="SENHA"

Re: Planilha protegida por senha (macro para limpar os filtros sem altear as permissões por usuário)

Enviado: 21 Fev 2022 às 22:21
por DavidNeri
Eu estava com esse mesmo problema, até que pesquisei e cai aqui... deu muito certo... obrigado mesmo!

Re: Planilha protegida por senha (macro para limpar os filtros sem altear as permissões por usuário)

Enviado: 22 Fev 2022 às 09:01
por osvaldomp
Olá, @DavidNeri .

Ficamos contentes porque você aproveitou as soluções deste tópico e agradecemos porque nos informou. :D