- 25 Mar 2021 às 12:57
#63255
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?
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?